serpent_generic.c (0898782247ae533d1f4e47a06bc5d4870931b284) | serpent_generic.c (9c1e8836edbbaf3656bc07437b59c04be034ac4e) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Cryptographic API. 4 * 5 * Serpent Cipher Algorithm. 6 * 7 * Copyright (C) 2002 Dag Arne Osvik <osvik@ii.uib.no> 8 * 2003 Herbert Valerio Riedel <hvr@gnu.org> --- 435 unchanged lines hidden (view full) --- 444EXPORT_SYMBOL_GPL(__serpent_setkey); 445 446int serpent_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen) 447{ 448 return __serpent_setkey(crypto_tfm_ctx(tfm), key, keylen); 449} 450EXPORT_SYMBOL_GPL(serpent_setkey); 451 | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Cryptographic API. 4 * 5 * Serpent Cipher Algorithm. 6 * 7 * Copyright (C) 2002 Dag Arne Osvik <osvik@ii.uib.no> 8 * 2003 Herbert Valerio Riedel <hvr@gnu.org> --- 435 unchanged lines hidden (view full) --- 444EXPORT_SYMBOL_GPL(__serpent_setkey); 445 446int serpent_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen) 447{ 448 return __serpent_setkey(crypto_tfm_ctx(tfm), key, keylen); 449} 450EXPORT_SYMBOL_GPL(serpent_setkey); 451 |
452void __serpent_encrypt(struct serpent_ctx *ctx, u8 *dst, const u8 *src) | 452void __serpent_encrypt(const void *c, u8 *dst, const u8 *src) |
453{ | 453{ |
454 const struct serpent_ctx *ctx = c; |
|
454 const u32 *k = ctx->expkey; 455 const __le32 *s = (const __le32 *)src; 456 __le32 *d = (__le32 *)dst; 457 u32 r0, r1, r2, r3, r4; 458 459/* 460 * Note: The conversions between u8* and u32* might cause trouble 461 * on architectures with stricter alignment rules than x86 --- 47 unchanged lines hidden (view full) --- 509 510static void serpent_encrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src) 511{ 512 struct serpent_ctx *ctx = crypto_tfm_ctx(tfm); 513 514 __serpent_encrypt(ctx, dst, src); 515} 516 | 455 const u32 *k = ctx->expkey; 456 const __le32 *s = (const __le32 *)src; 457 __le32 *d = (__le32 *)dst; 458 u32 r0, r1, r2, r3, r4; 459 460/* 461 * Note: The conversions between u8* and u32* might cause trouble 462 * on architectures with stricter alignment rules than x86 --- 47 unchanged lines hidden (view full) --- 510 511static void serpent_encrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src) 512{ 513 struct serpent_ctx *ctx = crypto_tfm_ctx(tfm); 514 515 __serpent_encrypt(ctx, dst, src); 516} 517 |
517void __serpent_decrypt(struct serpent_ctx *ctx, u8 *dst, const u8 *src) | 518void __serpent_decrypt(const void *c, u8 *dst, const u8 *src) |
518{ | 519{ |
520 const struct serpent_ctx *ctx = c; |
|
519 const u32 *k = ctx->expkey; 520 const __le32 *s = (const __le32 *)src; 521 __le32 *d = (__le32 *)dst; 522 u32 r0, r1, r2, r3, r4; 523 524 r0 = le32_to_cpu(s[0]); 525 r1 = le32_to_cpu(s[1]); 526 r2 = le32_to_cpu(s[2]); --- 152 unchanged lines hidden --- | 521 const u32 *k = ctx->expkey; 522 const __le32 *s = (const __le32 *)src; 523 __le32 *d = (__le32 *)dst; 524 u32 r0, r1, r2, r3, r4; 525 526 r0 = le32_to_cpu(s[0]); 527 r1 = le32_to_cpu(s[1]); 528 r2 = le32_to_cpu(s[2]); --- 152 unchanged lines hidden --- |