Classes |
Public Types |
Public Member Functions |
Static Public Attributes |
Protected Types |
Protected Member Functions |
Protected Attributes |
Static Protected Attributes |
List of all members
nil::crypto3::block::kasumi Class Reference
Kasumi. A 64-bit cipher used in 3GPP mobile phone protocols. There is no reason to use it outside of this context. More...
#include <kasumi.hpp>
Collaboration diagram for nil::crypto3::block::kasumi:
Classes | |
struct | stream_processor |
Public Types | |
typedef policy_type::block_type | block_type |
typedef stream_endian::little_octet_big_bit | endian_type |
typedef policy_type::key_type | key_type |
typedef policy_type::word_type | word_type |
Public Member Functions | |
block_type | decrypt (const block_type &ciphertext) const |
block_type | encrypt (const block_type &plaintext) const |
kasumi (const key_type &key) | |
~kasumi () | |
Static Public Attributes | |
constexpr static const std::size_t | block_bits = policy_type::block_bits |
constexpr static const std::size_t | block_words = policy_type::block_words |
constexpr static const std::size_t | key_bits = policy_type::key_bits |
constexpr static const std::size_t | key_words = policy_type::key_words |
constexpr static const std::size_t | rounds = policy_type::rounds |
constexpr static const std::size_t | word_bits = policy_type::word_bits |
Protected Types | |
typedef policy_type::key_schedule_type | key_schedule_type |
typedef detail::kasumi_functions | policy_type |
Protected Member Functions | |
block_type | decrypt_block (const block_type &ciphertext, const key_schedule_type &key_schedule) const |
block_type | encrypt_block (const block_type &plaintext, const key_schedule_type &key_schedule) const |
void | schedule_key (key_schedule_type &key_schedule, const key_type &key) |
Protected Attributes | |
key_schedule_type | key_schedule |
Static Protected Attributes | |
constexpr static const std::size_t | key_schedule_size = policy_type::key_schedule_size |
Detailed Description
Kasumi. A 64-bit cipher used in 3GPP mobile phone protocols. There is no reason to use it outside of this context.
Member Typedef Documentation
◆ block_type
◆ endian_type
◆ key_schedule_type
|
protected |
◆ key_type
◆ policy_type
|
protected |
◆ word_type
Constructor & Destructor Documentation
◆ kasumi()
|
inline |
◆ ~kasumi()
|
inline |
Member Function Documentation
◆ decrypt()
|
inline |
◆ decrypt_block()
|
inlineprotected |
◆ encrypt()
|
inline |
◆ encrypt_block()
|
inlineprotected |
◆ schedule_key()
|
inlineprotected |
Member Data Documentation
◆ block_bits
|
staticconstexpr |
◆ block_words
|
staticconstexpr |
◆ key_bits
|
staticconstexpr |
◆ key_schedule
|
protected |
◆ key_schedule_size
|
staticconstexprprotected |
◆ key_words
|
staticconstexpr |
◆ rounds
|
staticconstexpr |
◆ word_bits
|
staticconstexpr |
The documentation for this class was generated from the following file: