I implemented AES-CCM according to RFC-3610 and am wondering why the length of the additional authenticated data l(a) needs to be protected by the MAC.
AES-CCM additional authenticated data length l(a)
1k Views Asked by Netzoss At
1
There are 1 best solutions below
Related Questions in CRYPTOGRAPHY
- Secure Messaging Implementation in C#
- How to verify JWS (x5c chain) is signed by apple using Jose
- How to Safely Use Crypto.subtle Property for Local Testing Without Security Risks?
- OpenSSL3.0 RSA Signature Verification in C
- npm install tulind in my crypto server side
- how i need place arg in code for funtion send?
- Mbed TLS: in-place en-/decryption for OAEP doesn't seem to work
- Cannot test cryptographic performance using crypto_aesni_mb
- Installation Private Blockchain
- Encountered this error while implementing NTT cpp code: terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
- Cryptography Notion - Diffie-Hellmann
- Hash password with another password
- How to convert CryptAcquireContext to .NET 8 using System.Security.Cryptography methods
- Error "Cannot find module 'crypto'" in WalletConnect module
- Why do some cryptographic signature npm packages (like superdilithium) convert text to an array of integers before signing?
Related Questions in AES
- Java code of AES/GCM/NoPadding encryption algorithm with authentication tag
- AES-256-CBC encryption returning different result in Python and PHP , HELPPP
- zip4j - An error occurred while extracting files - Java
- Encrypt in Single Store and Decrypt in SQL Server
- Error "java.security.spec.InvalidKeySpecException: Error parsing public key" with Java
- Getting Error Message as "the input string is not a complete block" while Decryting using AES
- CMac calculation in C# using BouncyCastle
- Node.js AES decryption code converted to Golang throws key size error
- AES-CTR PRNG Implementation in OpenSSL with Consistent Output and Memory Leak Issues
- Encrypted data fails at decryption after restarting the micro-service
- Encryption in javascript frontend (browser env)
- mbedtls AES 128 ECB mode encryption give wrong results
- AES Decryption: if the decrypted file has a typo the Application crashes
- OpenSSL: how to encrypt new message with same key without EVP_EncryptInit_ex() again?
- How fix error: Specified key is not a valid size for this algorithm?
Related Questions in CC-MODE
- How to customize c-doc-comment-style to use reStructuredText as documentation comment style?
- CC-mode indentation of C++ lambda functions with a return type that has template parameters
- Custom C preprocessor format in Emacs cc-mode
- Are bluetooth LE connections authenticated on Android?
- How can I override the default mode file in Emacs?
- How to add to lists defined with c-lang-defconst?
- Emacs/CC-Mode doesn't indent arguments to templated functions starting with a curly bracket
- How to change the style of whole file in emacs cc mode ?
- Display the binary version of hex value in status bar
- How do I disable electric indent on RET but still keep other electric characters (e.g., ‘{’)?
- D-style Enum Syntax Support in cc-mode
- Adjusting Alignment Rules for UCFS-Chains in D
- Controlling the indent/offset for CMake in emacs
- Emacs 24: is there a way to use cc-mode's indentation?
- Emacs indentation of objective-c block syntax
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Standard caveat: don't write your own encryption and use it. Use trusted libraries written by professional crypto people. There are ones for almost any language/ runtime you need or that should compile for it.
as to your question :
CBC-MAC by default only works on fixed length messages. If an attacker knows a tag t on message m and and t' on message m', they can forge a tag on a third message that was not actually sent. In fact this is
If you prepend the length, its safer, though you can still get messages that are prefix's of each other and run into a similar problem. Hence one of the reasons a nonce is also prepended.