# Tag Info

## New answers tagged implementation

0

First, you decrypt the first four characters. The plaintext you find is the key for the next block of four characters, so after this you can decrypt the next block, finding the key for the block after that, and so on. This means you will need a case distinction: one case for the first $|K|$ characters (where $|\dots| \stackrel{\text{def}}{=} \text{the ... 3 Formally, what you're really looking for is a key derivation function (KDF). The Crypto++ API includes a PasswordBasedKeyDerivationFunction class, but that doesn't really seem optimal for your purposes; since you already have a high-entropy random seed, what you really want is a simple key-based KDF, not a fancy key-stretching KDF meant for use with ... -1 Blinding technics are well know now to defeat most attacks against SCA. You need a random number generator (True or Pseudo) to generate unpredictable random$r_i$. Additionnal precautions against Zero Attacks values can alo be taken. Try this:$m_0=y_0 \times r_0 \; + \; r_1 \times p \; mod \;(r_2 \times p)$0 Quite a few message authentication codes are actually PRFs with arbitrary input domains. For example: HMAC, instantiated with a hash function satisfying the appropriate security properties (basically, for Merkle–Damgård hash functions like the SHA-2 family, that the internal compression function is itself a PRF), is provably a PRF. CMAC, ... 1 First of all the Additional Data (AD) is not a tag. It is data that is also authenticated by the authentication tag. This authentication tag is appended to the ciphertext by libsodium. The tag doesn't consist of separate portions for AD and the ciphertext (and IV), the AD is taken into account during calculation of the tag. The AD can be any data, including ... 0 The environment of Sage (I mean the notebook) is very good for implementing your libraries building over the libraries of Sage. Another better idea is to use the libraries of Sage in python code using in your python program from sage.all import *. You can compile your program using the python of sage,$sage -python foo.py If finally you use C++, I think you ...

0

C++ would be more appropriate if you want to rebuild your own libraries and tailor private applications independantly of open source libraries. But this alternative represent a large amount of effort for building and defining all the test and validation tools. It could be more efficient if you directly programm some specific piece of code in Assemby. Hence ...

0

Sage can actually use NTL under the hood, so if you are more comfortable with sage (or that style of coding) and can implement things using the ntl wrapper, then there is likely no advantage to using NTL directly in C++.

Top 50 recent answers are included