953 research outputs found
Algorithms on Ideal over Complex Multiplication order
We show in this paper that the Gentry-Szydlo algorithm for cyclotomic orders,
previously revisited by Lenstra-Silverberg, can be extended to
complex-multiplication (CM) orders, and even to a more general structure. This
algorithm allows to test equality over the polarized ideal class group, and
finds a generator of the polarized ideal in polynomial time. Also, the
algorithm allows to solve the norm equation over CM orders and the recent
reduction of principal ideals to the real suborder can also be performed in
polynomial time. Furthermore, we can also compute in polynomial time a unit of
an order of any number field given a (not very precise) approximation of it.
Our description of the Gentry-Szydlo algorithm is different from the original
and Lenstra- Silverberg's variant and we hope the simplifications made will
allow a deeper understanding. Finally, we show that the well-known speed-up for
enumeration and sieve algorithms for ideal lattices over power of two
cyclotomics can be generalized to any number field with many roots of unity.Comment: Full version of a paper submitted to ANT
Vers une arithmétique efficace pour le chiffrement homomorphe basé sur le Ring-LWE
Fully homomorphic encryption is a kind of encryption offering the ability to manipulate encrypted data directly through their ciphertexts. In this way it is possible to process sensitive data without having to decrypt them beforehand, ensuring therefore the datas' confidentiality. At the numeric and cloud computing era this kind of encryption has the potential to considerably enhance privacy protection. However, because of its recent discovery by Gentry in 2009, we do not have enough hindsight about it yet. Therefore several uncertainties remain, in particular concerning its security and efficiency in practice, and should be clarified before an eventual widespread use. This thesis deals with this issue and focus on performance enhancement of this kind of encryption in practice. In this perspective we have been interested in the optimization of the arithmetic used by these schemes, either the arithmetic underlying the Ring Learning With Errors problem on which the security of these schemes is based on, or the arithmetic specific to the computations required by the procedures of some of these schemes. We have also considered the optimization of the computations required by some specific applications of homomorphic encryption, and in particular for the classification of private data, and we propose methods and innovative technics in order to perform these computations efficiently. We illustrate the efficiency of our different methods through different software implementations and comparisons to the related art.Le chiffrement totalement homomorphe est un type de chiffrement qui permet de manipuler directement des données chiffrées. De cette manière, il est possible de traiter des données sensibles sans avoir à les déchiffrer au préalable, permettant ainsi de préserver la confidentialité des données traitées. À l'époque du numérique à outrance et du "cloud computing" ce genre de chiffrement a le potentiel pour impacter considérablement la protection de la vie privée. Cependant, du fait de sa découverte récente par Gentry en 2009, nous manquons encore de recul à son propos. C'est pourquoi de nombreuses incertitudes demeurent, notamment concernant sa sécurité et son efficacité en pratique, et devront être éclaircies avant une éventuelle utilisation à large échelle.Cette thèse s'inscrit dans cette problématique et se concentre sur l'amélioration des performances de ce genre de chiffrement en pratique. Pour cela nous nous sommes intéressés à l'optimisation de l'arithmétique utilisée par ces schémas, qu'elle soit sous-jacente au problème du "Ring-Learning With Errors" sur lequel la sécurité des schémas considérés est basée, ou bien spécifique aux procédures de calculs requises par certains de ces schémas. Nous considérons également l'optimisation des calculs nécessaires à certaines applications possibles du chiffrement homomorphe, et en particulier la classification de données privées, de sorte à proposer des techniques de calculs innovantes ainsi que des méthodes pour effectuer ces calculs de manière efficace. L'efficacité de nos différentes méthodes est illustrée à travers des implémentations logicielles et des comparaisons aux techniques de l'état de l'art
Finding Significant Fourier Coefficients: Clarifications, Simplifications, Applications and Limitations
Ideas from Fourier analysis have been used in cryptography for the last three
decades. Akavia, Goldwasser and Safra unified some of these ideas to give a
complete algorithm that finds significant Fourier coefficients of functions on
any finite abelian group. Their algorithm stimulated a lot of interest in the
cryptography community, especially in the context of `bit security'. This
manuscript attempts to be a friendly and comprehensive guide to the tools and
results in this field. The intended readership is cryptographers who have heard
about these tools and seek an understanding of their mechanics and their
usefulness and limitations. A compact overview of the algorithm is presented
with emphasis on the ideas behind it. We show how these ideas can be extended
to a `modulus-switching' variant of the algorithm. We survey some applications
of this algorithm, and explain that several results should be taken in the
right context. In particular, we point out that some of the most important bit
security problems are still open. Our original contributions include: a
discussion of the limitations on the usefulness of these tools; an answer to an
open question about the modular inversion hidden number problem
Approximate computations with modular curves
This article gives an introduction for mathematicians interested in numerical
computations in algebraic geometry and number theory to some recent progress in
algorithmic number theory, emphasising the key role of approximate computations
with modular curves and their Jacobians. These approximations are done in
polynomial time in the dimension and the required number of significant digits.
We explain the main ideas of how the approximations are done, illustrating them
with examples, and we sketch some applications in number theory
The complexity of class polynomial computation via floating point approximations
We analyse the complexity of computing class polynomials, that are an
important ingredient for CM constructions of elliptic curves, via complex
floating point approximations of their roots. The heart of the algorithm is the
evaluation of modular functions in several arguments. The fastest one of the
presented approaches uses a technique devised by Dupont to evaluate modular
functions by Newton iterations on an expression involving the
arithmetic-geometric mean. It runs in time for any , where
is the CM discriminant and is the degree of the class polynomial.
Another fast algorithm uses multipoint evaluation techniques known from
symbolic computation; its asymptotic complexity is worse by a factor of . Up to logarithmic factors, this running time matches the size of the
constructed polynomials. The estimate also relies on a new result concerning
the complexity of enumerating the class group of an imaginary-quadratic order
and on a rigorously proven upper bound for the height of class polynomials
Computing Hilbert class polynomials with the Chinese Remainder Theorem
We present a space-efficient algorithm to compute the Hilbert class
polynomial H_D(X) modulo a positive integer P, based on an explicit form of the
Chinese Remainder Theorem. Under the Generalized Riemann Hypothesis, the
algorithm uses O(|D|^(1/2+o(1))log P) space and has an expected running time of
O(|D|^(1+o(1)). We describe practical optimizations that allow us to handle
larger discriminants than other methods, with |D| as large as 10^13 and h(D) up
to 10^6. We apply these results to construct pairing-friendly elliptic curves
of prime order, using the CM method.Comment: 37 pages, corrected a typo that misstated the heuristic complexit
Public keys quality
Dissertação de mestrado em Matemática e ComputaçãoThe RSA cryptosystem, invented by Ron Rivest, Adi Shamir and Len Adleman ([Rivest et al.,
1978]) is the most commonly used cryptosystem for providing privacy and ensuring authenticity
of digital data. RSA is usually used in contexts where security of digital data is priority. RSA
is used worldwide by web servers and browsers to secure web traffic, to ensure privacy and
authenticity of e-mail, to secure remote login sessions and to provide secure electronic creditcard
payment systems.
Given its importance in the protection of digital data, vulnerabilities of RSA have been
analysed by many researchers. The researches made so far led to a number of fascinating
attacks. Although the attacks helped to improve the security of this cryptosystem, showing that
securely implementing RSA is a nontrivial task, none of them was devastating.
This master thesis discusses the RSA cryptosystem and some of its vulnerabilities as well
as the description of some attacks, both recent and old, together with the description of the
underlying mathematical tools they use. Although many types of attacks exist, in this master
thesis only a few examples were analysed. The ultimate attack, based in the batch-GCD
algorithm, was implemented and tested in the RSA keys produced by a certificated Hardware
Security Modules Luna SA and the results were commented.
The random and pseudorandom numbers are fundamental to many cryptographic applications,
including the RSA cryptosystems. In fact, the produced keys must be generated in a
specific random way. The National Institute of Standards and Technology, responsible entity for
specifying safety standards, provides a package named "A Statistical Test Suit for Random and
Pseudorandom Number Generators for Cryptography Applications" which was used in this work
to test the randomness of the Luna SA generated numbers. All the statistical tests were tested
in different bit sizes number and the results commented.
The main purpose of this thesis is to study the previous subjects and create an applications
capable to test the Luna SA generated numbers randomness, a well as evaluate the security of
the RSA.
This work was developed in partnership with University of Minho and Multicert.O RSA, criado por Ron Rivest, Adi Shamir e Len Adleman ([Rivest et al., 1978]) é o
sistema criptográfico mais utilizado para providenciar segurança e assegurar a autenticação de
dados utilizados no mundo digital. O RSA é usualmente usado em contextos onde a segurança
é a grande prioridade. Hoje em dia, este sistema criptográfico é utilizado mundialmente por
servidores web e por browsers, por forma a assegurar um tráfego seguro através da Internet. É o
sistema criptográfico mais utilizado na autenticação de e-mails, nos inícios de sessões remotos,
na utilização de pagamentos através de cartões multibanco, garantindo segurança na utilização
destes serviços.
Dada a importância que este sistema assume na proteção da informação digital, as suas
vulnerabilidades têm sido alvo de várias investigações. Estas investigações resultaram em vários
ataques ao RSA. Embora nenhum destes ataques seja efetivamente eficaz, todos contribuíram
para um aumento da segurança do RSA, uma vez que as implementações de referência deste
algoritmo passaram a precaver-se contra os ataques descobertos.
Esta tese de mestrado aborda o sistema criptográfico RSA, discutindo algumas das suas
vulnerabilidades, assim como alguns ataques efetuados a este sistema, estudando todos os
métodos matemáticos por estes usados. Embora existam diversos ataques, apenas alguns serão
abordados nesta tese de mestrado. O último ataque, baseado no algoritmo batch-GCD foi
implementado e foram feitos testes em chaves RSA produzidas por um Hardware Security Module
Luna SA certificado e os resultados obtidos foram discutidos.
Os números aleatórios e pseudoaleatórios são fundamentais a todas as aplicações criptográficas,
incluindo, portanto, o sistema criptográfico RSA. De facto, as chaves produzidas deverão
ser geradas com alguma aleatoriedade intrínseca ao sistema. O Instituto Nacional de Standards
e Tecnologia, entidade responsável pela especificação dos standards de segurança, disponibiliza
um pacote de testes estatísticos, denominado por "A Statistical Test Suit for Random and
Pseudorandom Number Generators for Cryptography Applications". Estes testes estatísticos
foram aplicados a números gerados pelo Luna SA e os resultados foram, também, comentados.
O objetivo desta tese de mestrado é desenvolver capacidade de compreensão sobre os assuntos
descritos anteriormente e criar uma aplicação capaz de testar a aleatoriedade dos números
gerados pelo Luna SA, assim como avaliar a segurança do sistema criptográfico RSA.
Este foi um trabalho desenvolvido em parceria com a Universidade do Minho e com a Multicert
- …