⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 idea.h

📁 1、对于凯撒密文
💻 H
字号:
// Idea.h: interface for the CIdea class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_IDEA_H__168C8B21_CA34_4023_A1A2_66E522948687__INCLUDED_)
#define AFX_IDEA_H__168C8B21_CA34_4023_A1A2_66E522948687__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Cipher.h"
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <cassert>
#include <string>
using namespace std;


//globals 
#define NUMSUBKEYS  52
#define NUMROUNDS 8
#define MAXINPUTSIZE 8

class CIdea : public CCipher  
{
public:
	CIdea();
	virtual ~CIdea();
	CString m_cipherString;
	CString m_plainString;
	CString m_key;
	void Decipher();
	void Encipher();
	unsigned int TWOPOWER16;
	unsigned int TWOPOWER161;
	unsigned int inputsize;
	
	// all the subkey information
	unsigned short esubkeys[NUMSUBKEYS];
	unsigned short dsubkeys[NUMSUBKEYS];
	unsigned int origkeyint[4]; 
	unsigned char origkeychar[17]; 
	void printDecipherTextSummary(unsigned char* decipheredtext);
	void printCipherTextSummary(unsigned char* ciphertext);
	void printPlainTextSummary(unsigned char* plaintext);
	void promptForKey();
	void promptForText(unsigned char* ptext,int encryptionflag,int i);
	void promptWelcome();
	void calcEKeys(unsigned char* userkey);
	void calcDKeys ();
	short inv(unsigned short b);
	void decrypt (unsigned char* msg,unsigned char* outmsg);
	void encrypt (unsigned char* msg,unsigned char* outmsg);
	void runIdea(unsigned char* msg, unsigned char* outmsg,unsigned short* keysbit16);
	void ByteToBit(bool *Out, const unsigned char *In, int bits);
	void BitToByte(unsigned char *Out, const bool *In, int bits);
};

#endif // !defined(AFX_IDEA_H__168C8B21_CA34_4023_A1A2_66E522948687__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -