summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/Symbols.namespace10
-rw-r--r--src/lib/libcrypto/camellia/camellia.c12
-rw-r--r--src/lib/libcrypto/hidden/openssl/camellia.h39
3 files changed, 60 insertions, 1 deletions
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace
index 21f24c9ef5..5862beeeb0 100644
--- a/src/lib/libcrypto/Symbols.namespace
+++ b/src/lib/libcrypto/Symbols.namespace
@@ -2604,3 +2604,13 @@ _libre_WHIRLPOOL_Update
2604_libre_WHIRLPOOL_BitUpdate 2604_libre_WHIRLPOOL_BitUpdate
2605_libre_WHIRLPOOL_Final 2605_libre_WHIRLPOOL_Final
2606_libre_WHIRLPOOL 2606_libre_WHIRLPOOL
2607_libre_Camellia_set_key
2608_libre_Camellia_encrypt
2609_libre_Camellia_decrypt
2610_libre_Camellia_ecb_encrypt
2611_libre_Camellia_cbc_encrypt
2612_libre_Camellia_cfb128_encrypt
2613_libre_Camellia_cfb1_encrypt
2614_libre_Camellia_cfb8_encrypt
2615_libre_Camellia_ofb128_encrypt
2616_libre_Camellia_ctr128_encrypt
diff --git a/src/lib/libcrypto/camellia/camellia.c b/src/lib/libcrypto/camellia/camellia.c
index af6b85ff8e..94e81a4773 100644
--- a/src/lib/libcrypto/camellia/camellia.c
+++ b/src/lib/libcrypto/camellia/camellia.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: camellia.c,v 1.13 2024/03/29 07:26:21 jsing Exp $ */ 1/* $OpenBSD: camellia.c,v 1.14 2024/03/30 04:58:12 joshua Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright 2006 NTT (Nippon Telegraph and Telephone Corporation) . 3 * Copyright 2006 NTT (Nippon Telegraph and Telephone Corporation) .
4 * ALL RIGHTS RESERVED. 4 * ALL RIGHTS RESERVED.
@@ -591,6 +591,7 @@ Camellia_set_key(const unsigned char *userKey, const int bits,
591 key->grand_rounds = Camellia_Ekeygen(bits, userKey, key->u.rd_key); 591 key->grand_rounds = Camellia_Ekeygen(bits, userKey, key->u.rd_key);
592 return 0; 592 return 0;
593} 593}
594LCRYPTO_ALIAS(Camellia_set_key);
594 595
595void 596void
596Camellia_encrypt(const unsigned char *in, unsigned char *out, 597Camellia_encrypt(const unsigned char *in, unsigned char *out,
@@ -598,6 +599,7 @@ Camellia_encrypt(const unsigned char *in, unsigned char *out,
598{ 599{
599 Camellia_EncryptBlock_Rounds(key->grand_rounds, in, key->u.rd_key, out); 600 Camellia_EncryptBlock_Rounds(key->grand_rounds, in, key->u.rd_key, out);
600} 601}
602LCRYPTO_ALIAS(Camellia_encrypt);
601 603
602void 604void
603Camellia_decrypt(const unsigned char *in, unsigned char *out, 605Camellia_decrypt(const unsigned char *in, unsigned char *out,
@@ -605,6 +607,7 @@ Camellia_decrypt(const unsigned char *in, unsigned char *out,
605{ 607{
606 Camellia_DecryptBlock_Rounds(key->grand_rounds, in, key->u.rd_key, out); 608 Camellia_DecryptBlock_Rounds(key->grand_rounds, in, key->u.rd_key, out);
607} 609}
610LCRYPTO_ALIAS(Camellia_decrypt);
608 611
609void 612void
610Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out, size_t len, 613Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out, size_t len,
@@ -617,6 +620,7 @@ Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out, size_t len,
617 CRYPTO_cbc128_decrypt(in, out, len, key, ivec, 620 CRYPTO_cbc128_decrypt(in, out, len, key, ivec,
618 (block128_f)Camellia_decrypt); 621 (block128_f)Camellia_decrypt);
619} 622}
623LCRYPTO_ALIAS(Camellia_cbc_encrypt);
620 624
621/* 625/*
622 * The input and output encrypted as though 128bit cfb mode is being 626 * The input and output encrypted as though 128bit cfb mode is being
@@ -632,6 +636,7 @@ Camellia_cfb128_encrypt(const unsigned char *in, unsigned char *out,
632 CRYPTO_cfb128_encrypt(in, out, length, key, ivec, num, enc, 636 CRYPTO_cfb128_encrypt(in, out, length, key, ivec, num, enc,
633 (block128_f)Camellia_encrypt); 637 (block128_f)Camellia_encrypt);
634} 638}
639LCRYPTO_ALIAS(Camellia_cfb128_encrypt);
635 640
636/* N.B. This expects the input to be packed, MS bit first */ 641/* N.B. This expects the input to be packed, MS bit first */
637void 642void
@@ -642,6 +647,7 @@ Camellia_cfb1_encrypt(const unsigned char *in, unsigned char *out,
642 CRYPTO_cfb128_1_encrypt(in, out, length, key, ivec, num, enc, 647 CRYPTO_cfb128_1_encrypt(in, out, length, key, ivec, num, enc,
643 (block128_f)Camellia_encrypt); 648 (block128_f)Camellia_encrypt);
644} 649}
650LCRYPTO_ALIAS(Camellia_cfb1_encrypt);
645 651
646void 652void
647Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out, 653Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out,
@@ -651,6 +657,7 @@ Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out,
651 CRYPTO_cfb128_8_encrypt(in, out, length, key, ivec, num, enc, 657 CRYPTO_cfb128_8_encrypt(in, out, length, key, ivec, num, enc,
652 (block128_f)Camellia_encrypt); 658 (block128_f)Camellia_encrypt);
653} 659}
660LCRYPTO_ALIAS(Camellia_cfb8_encrypt);
654 661
655void 662void
656Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out, 663Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out,
@@ -661,6 +668,7 @@ Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out,
661 CRYPTO_ctr128_encrypt(in, out, length, key, ivec, ecount_buf, num, 668 CRYPTO_ctr128_encrypt(in, out, length, key, ivec, ecount_buf, num,
662 (block128_f)Camellia_encrypt); 669 (block128_f)Camellia_encrypt);
663} 670}
671LCRYPTO_ALIAS(Camellia_ctr128_encrypt);
664 672
665void 673void
666Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out, 674Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out,
@@ -671,6 +679,7 @@ Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out,
671 else 679 else
672 Camellia_decrypt(in, out, key); 680 Camellia_decrypt(in, out, key);
673} 681}
682LCRYPTO_ALIAS(Camellia_ecb_encrypt);
674 683
675/* 684/*
676 * The input and output encrypted as though 128bit ofb mode is being 685 * The input and output encrypted as though 128bit ofb mode is being
@@ -684,3 +693,4 @@ Camellia_ofb128_encrypt(const unsigned char *in, unsigned char *out,
684 CRYPTO_ofb128_encrypt(in, out, length, key, ivec, num, 693 CRYPTO_ofb128_encrypt(in, out, length, key, ivec, num,
685 (block128_f)Camellia_encrypt); 694 (block128_f)Camellia_encrypt);
686} 695}
696LCRYPTO_ALIAS(Camellia_ofb128_encrypt);
diff --git a/src/lib/libcrypto/hidden/openssl/camellia.h b/src/lib/libcrypto/hidden/openssl/camellia.h
new file mode 100644
index 0000000000..bf7f43b1b3
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/camellia.h
@@ -0,0 +1,39 @@
1/* $OpenBSD: camellia.h,v 1.1 2024/03/30 04:58:12 joshua Exp $ */
2/*
3 * Copyright (c) 2024 Joshua Sing <joshua@joshuasing.dev>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _LIBCRYPTO_CAMELLIA_H
19#define _LIBCRYPTO_CAMELLIA_H
20
21#ifndef _MSC_VER
22#include_next <openssl/camellia.h>
23#else
24#include "../include/openssl/camellia.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(Camellia_set_key);
29LCRYPTO_USED(Camellia_encrypt);
30LCRYPTO_USED(Camellia_decrypt);
31LCRYPTO_USED(Camellia_ecb_encrypt);
32LCRYPTO_USED(Camellia_cbc_encrypt);
33LCRYPTO_USED(Camellia_cfb128_encrypt);
34LCRYPTO_USED(Camellia_cfb1_encrypt);
35LCRYPTO_USED(Camellia_cfb8_encrypt);
36LCRYPTO_USED(Camellia_ofb128_encrypt);
37LCRYPTO_USED(Camellia_ctr128_encrypt);
38
39#endif /* _LIBCRYPTO_CAMELLIA_H */