📄 cast128.h
字号:
/************************************************** CAST-128 Header File ** (C) 1999-2002 The Botan Project **************************************************/#ifndef BOTAN_CAST128_H__#define BOTAN_CAST128_H__#include <botan/base.h>namespace Botan {/************************************************** CAST-128 **************************************************/class CAST_128 : public BlockCipher { public: void clear() throw() { MK.clear(); RK.clear(); } std::string name() const { return "CAST-128"; } BlockCipher* clone() const { return new CAST_128; } CAST_128() : BlockCipher(8, 11, 16) {} private: void enc(const byte[], byte[]) const; void dec(const byte[], byte[]) const; void key(const byte[], u32bit); void round1(u32bit&, u32bit, u32bit) const; void round2(u32bit&, u32bit, u32bit) const; void round3(u32bit&, u32bit, u32bit) const; void key_schedule(SecureBuffer<u32bit, 16>&, SecureBuffer<u32bit, 4>&) const; static const u32bit S5[256], S6[256], S7[256], S8[256]; SecureBuffer<u32bit, 16> MK, RK; };extern const u32bit CAST_SBOX1[256];extern const u32bit CAST_SBOX2[256];extern const u32bit CAST_SBOX3[256];extern const u32bit CAST_SBOX4[256];}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -