diff options
Diffstat (limited to 'crypto/camellia/camellia.c')
-rw-r--r-- | crypto/camellia/camellia.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/crypto/camellia/camellia.c b/crypto/camellia/camellia.c index 4d9346ae28..a690f6114c 100644 --- a/crypto/camellia/camellia.c +++ b/crypto/camellia/camellia.c @@ -292,7 +292,7 @@ static const u32 Camellia_SBOX[][256] = { }; /* Key generation constants */ -const u32 SIGMA[] = { +static const u32 SIGMA[] = { 0xa09e667f, 0x3bcc908b, 0xb67ae858, 0x4caa73b2, 0xc6ef372f, 0xe94f82be, 0x54ff53a5, 0xf1d36f1c, 0x10e527fa, 0xde682d1d, 0xb05688c2, 0xb3e6c1fd }; @@ -462,7 +462,7 @@ int Camellia_Ekeygen(int keyBitLength, const u8 *rawKey, KEY_TABLE_TYPE k) */ } -void Camellia_EncryptBlock(int grandRounds, const u8 plaintext[], +void Camellia_EncryptBlock_Rounds(int grandRounds, const u8 plaintext[], const KEY_TABLE_TYPE keyTable, u8 ciphertext[]) { register u32 s0,s1,s2,s3; @@ -504,8 +504,14 @@ void Camellia_EncryptBlock(int grandRounds, const u8 plaintext[], PUTU32(ciphertext+8, s0); PUTU32(ciphertext+12,s1); } +void Camellia_EncryptBlock(int keyBitLength, const u8 plaintext[], + const KEY_TABLE_TYPE keyTable, u8 ciphertext[]) + { + Camellia_EncryptBlock_Rounds(keyBitLength==128?3:4, + plaintext,keyTable,ciphertext); + } -void Camellia_DecryptBlock(int grandRounds, const u8 ciphertext[], +void Camellia_DecryptBlock_Rounds(int grandRounds, const u8 ciphertext[], const KEY_TABLE_TYPE keyTable, u8 plaintext[]) { u32 s0,s1,s2,s3; @@ -547,3 +553,9 @@ void Camellia_DecryptBlock(int grandRounds, const u8 ciphertext[], PUTU32(plaintext+8, s0); PUTU32(plaintext+12,s1); } +void Camellia_DecryptBlock(int keyBitLength, const u8 plaintext[], + const KEY_TABLE_TYPE keyTable, u8 ciphertext[]) + { + Camellia_DecryptBlock_Rounds(keyBitLength==128?3:4, + plaintext,keyTable,ciphertext); + } |