📄 idea.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 + -