Implementing a cipher or protocol is the process of taking it from its mathematical or algorithmic description and producing a working version, often in computer software or hardware. This tag should be used for any question discussing the various potential considerations and pitfalls of this ...

learn more… | top users | synonyms

4
votes
0answers
20 views

Are any of the practical implementations of ORAM being used in a real world system?

The concept of Oblivious RAM (ORAM) was first introduced by Oded Goldreich and Rafail Ostrovsky in 1996. However, in the past 5-10 years there has been a surge in the amount of research that looks ...
7
votes
1answer
73 views

Is it possible to test implementation for side-channel attacks?

When it comes to implementing cryptographic algorithms, there seems to be a big focus on the difficulty of doing so without introducing the potential for side channel attacks and the knowledge ...
3
votes
1answer
111 views

Is the use of AES in LoRaWAN correct?

I'm reading about LoRaWAN (specification). This network protocol has a particular way to encrypt data, detailed in the part 4.3.3.1. Here is a recap of how the encryption work, as I understood it. ...
4
votes
1answer
60 views

What is the recommended number of iterations for Argon2?

I've recompiled my operating system ("LionBSD" based on FreeBSD) to use Argon2i as the default password hashing algorithm in crypt/libcrypt. I'm wondering what the recommended number of iterations ...
2
votes
1answer
81 views

Calculating Polynomial Inverse with extended euclid in java

I'm trying to understand the NTRU-PKCS and therefor I wanted to code a naive Version of it. Now my Problem: I tried to calculate the inverse of a Polynomial with an extended Version of euclids ...
4
votes
1answer
41 views

Ideal way to profile/performance-measure cipher implementations

I have implemented a bit-sliced version of two ciphers (Gibbon-120 and Hanuman-120, both part of the Primates family of ciphers: http://primates.ae/wp-content/uploads/primatesv1.02.pdf ) I now want ...
1
vote
1answer
25 views

Audio Encryption in Voip SIP [closed]

I have some project encrypion real-time. I want use Voip SIP to implement the stream cipher. What I have done so far : Simple app android Voip SIP https://github.com/android/platform_development/...
1
vote
1answer
39 views

Why Rabin fingerprints assumes data is prefixed with a “1” bit?

(I know that a Rabin fingerprint is not a cryptographic hash, sorry in advance if my question is considered out of topic) In the paper Some applications of Rabin's fingerprinting method, it is ...
1
vote
0answers
39 views

Issue Factorization Quadratic Sieve

Good evening, I'm about to write my own quadratic sieve implementation in C using GMP library for large numbers. I'm facing an issue while attempting to do the last factorization step for the number: ...
3
votes
1answer
48 views

El Gamal special construction

The algorithm: I have to determine if the following algorithm is secure: $p,q \in \mathbb{P}$ and $N = p \cdot q$ $e \in [2, N - 1]$ such that $\gcd(e, N) = 1$ $r_1, r_2$ are random numbers ...
34
votes
5answers
6k views

In RSA, how does the CPU deal with this huge modulus (8192 bits)?

Whilst I understand how the RSA algorithm works, I don't understand how the CPU operates when it needs to use the mod function with a huge number $n$, for example. ...
1
vote
1answer
85 views

Fully Homomorphic Encryption over the Integers with Shorter Public Keys [closed]

I want to implement Homomorphic scheme from the paper Fully Homomorphic Encryption over the Integers with Shorter Public Keys. I successfully implemented key generation by taking $\lambda = 2, \beta =...
0
votes
0answers
17 views

NORX parallel speedup?

How much of a speedup can be expected going from serial NORX (6441) to 4-way parallel NORX (6444) assuming the latter is implemented as 4 word-sliced instances of the former?
3
votes
0answers
79 views

How to generate an RSASSA-PSS signature with MGF1-SHA256?

As part of rooting a device, I need to generate a 256-byte RSASSA-PSS signature using SHA256 as the hash and MGF1-SHA256 as the mask function, for an update file I created. I can choose any 32-byte ...
4
votes
1answer
58 views

Can the attack in https://eprint.iacr.org/2008/469.pdf be parallelized?

Can this attack be parallelized? It is a $2^{57}$ complexity collision attack on SHA-1 based on disturbance vectors. If it is practical it is easy on a GPU ($\approx1.1$ GPU-days). If it is ...
0
votes
0answers
35 views

Has anybody implemented BGN cryptosystem to multiply two plain texts?

I have tried to use this code as follows, http://stackoverflow.com/questions/33581962/bgn-implementation-in-java but the issue is, when it generate the pairing, the output is in GTfiniteelement (for ...
6
votes
2answers
67 views

How to test implementation of primality tests like Miller–Rabin?

The Miller-Rabin primality test is an algorithm for checking if number is a prime. What would be best way to test implementation of such algorithm (or any primality test in general)?
5
votes
1answer
28 views

What security checks do I need for SRP-6a?

I'm implementing an SRP-6a login system. What security checks do I need to do? Note that the modulus is sent to the client at algorithm startup. Here is the list I have so far. I'm using the ...
5
votes
1answer
70 views

How do Käsper and Schwabe's Bitsliced AES Mixcolumns work?

The only way I see it possible to do the matrix-multiplication in the MixColumns operation of AES is by shifting the bits in the multiplied number, and then reduce with the polynomial if needed. ...
4
votes
1answer
49 views

How can bit slicing be constant time, when Mix Columns is in the cipher

I'm reading about bit-slicing techniques, and one thing about it caught my mind. The strength with bit sliced implementations are (apart from that they are fast) that they are running in constant ...
1
vote
2answers
63 views

Converting a 5-bit s-box to its bit-sliced format

I'm currently trying to convert a 5-bit sbox (the one from this cipher: http://primates.ae/wp-content/uploads/primatesv1.02.pdf) to its bit-sliced format (i.e. to a boolean network). Most papers ...
6
votes
1answer
129 views

What does the TLS 1.2 client finished message contain?

I am implementing TLS 1.2 and I'm stuck on the client finished message. My question is: what is the size and structure of a clients finished message in TLS 1.2 when using the ...
0
votes
0answers
27 views

Composing hash functions

Suppose there is a cryptographic hash function $H : \{0,1\}^* \to \mathbb G$. Now, we want to define a hash function $H' : \{0,1\}^* \to \mathbb G \times \mathbb G $. My first idea is to define $H'$ ...
6
votes
2answers
166 views

What may be causing conflicts in Whirlpool implementation versions?

I see by layman articles (e.g. at Wikipedia) that the Whirlpool hash function has seemingly three current versions. That is to say, they are referenced as ...
0
votes
0answers
30 views

Key size limitations due to software compatibility?

At the moment, much popular encryption-based software routinely handles up to 4096 bit keys and standard usage is broadly migrating from 1024 to 2048 bit keys. Hashes widely used are MD5/SHA1/SHA256 (...
2
votes
1answer
72 views

Trusted Third Party Cryptanalysis Labs?

There's no doubt that third party cryptanalysis is an essential part of the crypto ecosystem. It's how we know that there's some degree of practical "goodness" to a new algorithm or protocol. Unlike ...
10
votes
1answer
231 views

On Linux, does /dev/random unblocking imply that /dev/urandom is seeded?

Linux has the familiar problem that /dev/random blocks too much (insisting on being information-theoretically secure), while /dev/urandom doesn't block enough (it will return data before it's been ...
0
votes
2answers
75 views

Which encryption is recommended for own messenger [closed]

I wrote my own messaging-app and now I would like to encrypt the data transfer between my client (app) and my server. What kind of encryption is easy to implement and can be recommended? I am very ...
2
votes
2answers
107 views

Implementing RSA with small integers in CUDA

I have found some researches dedicated for speeding-up RSA calculations using CUDA. But I am wondering how they do that, given that the biggest unsigned int that could be declared in CUDA is 64 bit. ...
1
vote
1answer
76 views

Are developers expected to implement Diffie-Hellman key exchange themselves?

I noticed that the GO standard library has some really nice functions for performing AES encryption / decryption in various modes. However, I couldn't (yet) find anything for Diffie-Hellman key ...
1
vote
1answer
80 views

Is it okay for a non-cryptographer to submit crypto code to an open source probject? [closed]

I am not a cryptographer, nor do I claim to be. However, at times I have wanted to contribute to open source cryptography projects such as libsodium. The maintainer of libsodium is a cryptographer, ...
10
votes
2answers
927 views

How does hash speed vary based on string length?

Surprisingly I have not been able to find an answer to this question on Google. If I have a function that is based on any of the popular hashing algorithms used for password generation, by what ...
1
vote
1answer
115 views

128 Bit AES Issue

I'm trying to use the 128bit TI_aes implementation on my 16bit microcontroller and I'm having the weirdest issue. Every input where two bytes within a word are identical two nibbles within a byte ...
2
votes
1answer
138 views

Questions about a SHA3 cipher stream encryption scheme

I have written an encryption implementation using a hash as a cipherstream for demonstration purposes. I know it is slower than more sensible options such as AES but I am interested in several things, ...
0
votes
0answers
45 views

What are the pre-requisites I need to be able to code Salsa20 in C#?

I've taken a basic course in Cryptography and we've learnt various algorithms and their usage. I've implemented RC4 and Triple DES in C# with ASP.NET. For a project that I am a part of, I need to ...
3
votes
1answer
236 views

HW acceleration for Camellia cipher (x86_64/AES-NI/AVX2)

Modern processors support hardware acceleration for various crypto functions such as AES directly, or general vector operations which can be used in crypto ...
5
votes
1answer
94 views

How to convert AES to a PRNG in order to run NIST Statistical Test Suite?

I want to run statistical tests on my implementation of AES. How should I convert it into a PRNG? Is there a standard way to go about doing this? I could not find much information about this although ...
1
vote
1answer
122 views

Why does image size increase after steganography?

I am working on a steganography technique. Sometimes I need to send my steganographed images online to my friends but in the process the image gets compressed destroying all the data. I found ways to ...
3
votes
1answer
49 views

What information should I send along with an AES ciphertext and is there any standard to do that?

While using some crypto implementations I got to see that many times a comment is added to the ciphertext. For example: ...
0
votes
0answers
28 views

Implementing cryptosystems with various programming langauges

I know that most cryptosystems are currently implemented in C/C++. Has there been any effort to implement cryptosystems in programming languages such as Agda where proofs can be written about ...
1
vote
2answers
121 views

How can comparision like (>=,==) be done using homomorphic encryption?

Since we know that Homomorphic encryption allow computation on encrypted data. Let two n-bit integers $(x,y)$ are encrypted using some LWE public key cryptography. For example - if $x'= HEnc(x,pk)$ ...
2
votes
2answers
162 views

System parameters in identity-based encryption

In IBE schemes, the system parameters are $(q, \mathbb{G}, F, \hat{e}, P, Q, T, H_1)$. I don't know $\hat{e}$. For example, in type A pairing… ...
5
votes
1answer
186 views

Full encryption of IDs, partial decryption with customer specific key

I am looking for a "partial" encryption/decryption algorithm. Let's say I am encrypting the following List of IDs (long values) $[1,2,3,4]$ (with a secret key) to an encrypted string $e$, I would ...
2
votes
0answers
44 views

Example of Projective Coordinates

Given the affine form of coordinates $(x,y)$ such as $(5,3)$, if I want to convert $(5,3)$ to projective coordinates $(x,y,z)$, should the form of point be $(5,3,1)$? It is triplet not a point, right? ...
2
votes
0answers
87 views

Convert projective to affine coordinates in ECC? [closed]

I am working with my project. I use projective coordinates but when I convert to affine coordinates, I can't get it. Can anyone help me? Projective Coordinates $(X,Y,Z)$ to Affine Coordinates $(X,Y)$:...
1
vote
1answer
74 views

Non-numeric Diffie-Hellman?

It may seem that this is a programming question, but I just need advice on the cryptography side of the question. I want to implement the Diffie-Hellman key exchange algorithm on iOS (since no free ...
3
votes
1answer
70 views

Is it secure to use hexadecimal data for IV instead of raw binary?

Is it safe and secure to use a function like bin2hex (which converts binary data to hexadecimal) on the binary output of functions like ...
4
votes
1answer
74 views

What is the difference between MACTripleDES and TripleDES?

I was asked to encrypt/decrypt a string using MACTripleDES. Is there any difference between MACTripleDES and TripleDES? If, where exactly is the difference between both?
1
vote
1answer
33 views

Would buffering socket send resist timing attacks

I have been reading and thinking about timing attacks on cryptographic systems. The answer to this question mentions the following: "The way to defend against timing attacks is to make sure the time ...
4
votes
1answer
235 views

Difference between Hardware implemented algorithm and software implemented one?

In the articles about cryptography I see the words Hardware implemented and Software implemented. I'm curious to know what is the difference between them? In the other words, even in the computer ...