Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of CyaSSL by
cyassl/openssl/des.h@4:e505054279ed, 2015-01-14 (annotated)
- Committer:
- Vanger
- Date:
- Wed Jan 14 22:07:14 2015 +0000
- Revision:
- 4:e505054279ed
- Parent:
- 0:1239e9b70ca2
Implemented some platform specific functions in the Cyassl library code: time functions, seed random functions, and also changed the settings.h file to define settings specific to the platform being used
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| wolfSSL | 0:1239e9b70ca2 | 1 | /* des.h |
| wolfSSL | 0:1239e9b70ca2 | 2 | * |
| wolfSSL | 0:1239e9b70ca2 | 3 | * Copyright (C) 2013 wolfSSL Inc. |
| wolfSSL | 0:1239e9b70ca2 | 4 | * |
| wolfSSL | 0:1239e9b70ca2 | 5 | * This file is part of CyaSSL. |
| wolfSSL | 0:1239e9b70ca2 | 6 | * |
| wolfSSL | 0:1239e9b70ca2 | 7 | * CyaSSL is free software; you can redistribute it and/or modify |
| wolfSSL | 0:1239e9b70ca2 | 8 | * it under the terms of the GNU General Public License as published by |
| wolfSSL | 0:1239e9b70ca2 | 9 | * the Free Software Foundation; either version 2 of the License, or |
| wolfSSL | 0:1239e9b70ca2 | 10 | * (at your option) any later version. |
| wolfSSL | 0:1239e9b70ca2 | 11 | * |
| wolfSSL | 0:1239e9b70ca2 | 12 | * CyaSSL is distributed in the hope that it will be useful, |
| wolfSSL | 0:1239e9b70ca2 | 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| wolfSSL | 0:1239e9b70ca2 | 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| wolfSSL | 0:1239e9b70ca2 | 15 | * GNU General Public License for more details. |
| wolfSSL | 0:1239e9b70ca2 | 16 | * |
| wolfSSL | 0:1239e9b70ca2 | 17 | * You should have received a copy of the GNU General Public License |
| wolfSSL | 0:1239e9b70ca2 | 18 | * along with this program; if not, write to the Free Software |
| wolfSSL | 0:1239e9b70ca2 | 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
| wolfSSL | 0:1239e9b70ca2 | 20 | */ |
| wolfSSL | 0:1239e9b70ca2 | 21 | |
| wolfSSL | 0:1239e9b70ca2 | 22 | |
| wolfSSL | 0:1239e9b70ca2 | 23 | /* des.h defines mini des openssl compatibility layer |
| wolfSSL | 0:1239e9b70ca2 | 24 | * |
| wolfSSL | 0:1239e9b70ca2 | 25 | */ |
| wolfSSL | 0:1239e9b70ca2 | 26 | |
| wolfSSL | 0:1239e9b70ca2 | 27 | |
| wolfSSL | 0:1239e9b70ca2 | 28 | #ifndef CYASSL_DES_H_ |
| wolfSSL | 0:1239e9b70ca2 | 29 | #define CYASSL_DES_H_ |
| wolfSSL | 0:1239e9b70ca2 | 30 | |
| wolfSSL | 0:1239e9b70ca2 | 31 | #include <cyassl/ctaocrypt/settings.h> |
| wolfSSL | 0:1239e9b70ca2 | 32 | |
| wolfSSL | 0:1239e9b70ca2 | 33 | #ifdef YASSL_PREFIX |
| wolfSSL | 0:1239e9b70ca2 | 34 | #include "prefix_des.h" |
| wolfSSL | 0:1239e9b70ca2 | 35 | #endif |
| wolfSSL | 0:1239e9b70ca2 | 36 | |
| wolfSSL | 0:1239e9b70ca2 | 37 | |
| wolfSSL | 0:1239e9b70ca2 | 38 | #ifdef __cplusplus |
| wolfSSL | 0:1239e9b70ca2 | 39 | extern "C" { |
| wolfSSL | 0:1239e9b70ca2 | 40 | #endif |
| wolfSSL | 0:1239e9b70ca2 | 41 | |
| wolfSSL | 0:1239e9b70ca2 | 42 | typedef unsigned char CYASSL_DES_cblock[8]; |
| wolfSSL | 0:1239e9b70ca2 | 43 | typedef /* const */ CYASSL_DES_cblock CYASSL_const_DES_cblock; |
| wolfSSL | 0:1239e9b70ca2 | 44 | typedef CYASSL_DES_cblock CYASSL_DES_key_schedule; |
| wolfSSL | 0:1239e9b70ca2 | 45 | |
| wolfSSL | 0:1239e9b70ca2 | 46 | |
| wolfSSL | 0:1239e9b70ca2 | 47 | enum { |
| wolfSSL | 0:1239e9b70ca2 | 48 | DES_ENCRYPT = 1, |
| wolfSSL | 0:1239e9b70ca2 | 49 | DES_DECRYPT = 0 |
| wolfSSL | 0:1239e9b70ca2 | 50 | }; |
| wolfSSL | 0:1239e9b70ca2 | 51 | |
| wolfSSL | 0:1239e9b70ca2 | 52 | |
| wolfSSL | 0:1239e9b70ca2 | 53 | CYASSL_API void CyaSSL_DES_set_key_unchecked(CYASSL_const_DES_cblock*, |
| wolfSSL | 0:1239e9b70ca2 | 54 | CYASSL_DES_key_schedule*); |
| wolfSSL | 0:1239e9b70ca2 | 55 | CYASSL_API int CyaSSL_DES_key_sched(CYASSL_const_DES_cblock* key, |
| wolfSSL | 0:1239e9b70ca2 | 56 | CYASSL_DES_key_schedule* schedule); |
| wolfSSL | 0:1239e9b70ca2 | 57 | CYASSL_API void CyaSSL_DES_cbc_encrypt(const unsigned char* input, |
| wolfSSL | 0:1239e9b70ca2 | 58 | unsigned char* output, long length, |
| wolfSSL | 0:1239e9b70ca2 | 59 | CYASSL_DES_key_schedule* schedule, CYASSL_DES_cblock* ivec, |
| wolfSSL | 0:1239e9b70ca2 | 60 | int enc); |
| wolfSSL | 0:1239e9b70ca2 | 61 | CYASSL_API void CyaSSL_DES_ncbc_encrypt(const unsigned char* input, |
| wolfSSL | 0:1239e9b70ca2 | 62 | unsigned char* output, long length, |
| wolfSSL | 0:1239e9b70ca2 | 63 | CYASSL_DES_key_schedule* schedule, |
| wolfSSL | 0:1239e9b70ca2 | 64 | CYASSL_DES_cblock* ivec, int enc); |
| wolfSSL | 0:1239e9b70ca2 | 65 | |
| wolfSSL | 0:1239e9b70ca2 | 66 | CYASSL_API void CyaSSL_DES_set_odd_parity(CYASSL_DES_cblock*); |
| wolfSSL | 0:1239e9b70ca2 | 67 | CYASSL_API void CyaSSL_DES_ecb_encrypt(CYASSL_DES_cblock*, CYASSL_DES_cblock*, |
| wolfSSL | 0:1239e9b70ca2 | 68 | CYASSL_DES_key_schedule*, int); |
| wolfSSL | 0:1239e9b70ca2 | 69 | |
| wolfSSL | 0:1239e9b70ca2 | 70 | |
| wolfSSL | 0:1239e9b70ca2 | 71 | typedef CYASSL_DES_cblock DES_cblock; |
| wolfSSL | 0:1239e9b70ca2 | 72 | typedef CYASSL_const_DES_cblock const_DES_cblock; |
| wolfSSL | 0:1239e9b70ca2 | 73 | typedef CYASSL_DES_key_schedule DES_key_schedule; |
| wolfSSL | 0:1239e9b70ca2 | 74 | |
| wolfSSL | 0:1239e9b70ca2 | 75 | #define DES_set_key_unchecked CyaSSL_DES_set_key_unchecked |
| wolfSSL | 0:1239e9b70ca2 | 76 | #define DES_key_sched CyaSSL_DES_key_sched |
| wolfSSL | 0:1239e9b70ca2 | 77 | #define DES_cbc_encrypt CyaSSL_DES_cbc_encrypt |
| wolfSSL | 0:1239e9b70ca2 | 78 | #define DES_ncbc_encrypt CyaSSL_DES_ncbc_encrypt |
| wolfSSL | 0:1239e9b70ca2 | 79 | #define DES_set_odd_parity CyaSSL_DES_set_odd_parity |
| wolfSSL | 0:1239e9b70ca2 | 80 | #define DES_ecb_encrypt CyaSSL_DES_ecb_encrypt |
| wolfSSL | 0:1239e9b70ca2 | 81 | |
| wolfSSL | 0:1239e9b70ca2 | 82 | #ifdef __cplusplus |
| wolfSSL | 0:1239e9b70ca2 | 83 | } /* extern "C" */ |
| wolfSSL | 0:1239e9b70ca2 | 84 | #endif |
| wolfSSL | 0:1239e9b70ca2 | 85 | |
| wolfSSL | 0:1239e9b70ca2 | 86 | |
| wolfSSL | 0:1239e9b70ca2 | 87 | #endif /* CYASSL_DES_H_ */ |
| wolfSSL | 0:1239e9b70ca2 | 88 |
