An ELI5 Intro to Lattices in Cryptography

栏目: IT技术 · 发布时间: 6年前

内容简介:By Lane Wagner –Lattice-based cryptography has been coming into the spotlight recently. In January 2019, Many of the semifinalists in theA Lattice
An ELI5 Intro to Lattices in Cryptography

By Lane Wagner –  @wagslane on Twitter

Lattice-based cryptography has been coming into the spotlight recently. In January 2019, Many of the semifinalists in the  NIST post-quantum-cryptography competition were based on lattices. Let’s explore the basics of lattices and how they apply to cryptosystems.

What is a Lattice?

A Lattice

According to  Wikipedia , a lattice is the set of all integer linear combinations of basis vectors:

i.e.

More simply put, a lattice is defined by basis vectors, which are only able to be scaled by integers… yay no fractions!

For example, let’s create a lattice of all the integers in a two-dimensional plane:

An ELI5 Intro to Lattices in Cryptography

The definition of our lattice contains only 2 basis vectors,

v1 = (0,1)

v2 = (1,0)

An ELI5 Intro to Lattices in Cryptography

Our lattice is the set of  all  values that can be reached by any combination and scale of our basis vectors. For example, the point (2,0) is in our lattice because it can be reached by 2*v1

An ELI5 Intro to Lattices in Cryptography

Similarly, we could create an entirely new lattice by changing our basis vectors to

v1 = (0,3)

v2 = (3,0)

An ELI5 Intro to Lattices in Cryptography

As you can see, now the intermediary points (0,1) and (0,1)  no longer exist in our lattice. There is no way to scale v1 (0,3) and v2 (3,0) to reach those points without using fractional scalars. With lattices, we can only scale by whole integers.

How Does This Help With Crypto?

Cryptographic algorithms are typically based on mathematical problems that are easy to verify the answer of, but hard to calculate.

For example, RSA is based on prime factorization. If I told you to find prime factors of 27,919,645,564,169,759, that would be hard. However, if I told you that 48,554,491 and 575,016,749 are prime factors, all you have to do is multiply them together in order to verify my answer.

RSA works great with classical computers. There are  no known solutions to find prime factors of a number reliably in less than exponential time.

In the quantum world, things don't look so peachy. Shor's algorithm on quantum computers can crack RSA in less than exponential time. Many believe that lattice math could be the answer.

Shortest Vector Problem

An ELI5 Intro to Lattices in Cryptography

In this introductory article, we will take a brief look at one of the more well-known lattice problems that are of use in cryptosystems,  the shortest vector problem (SVP) .

Simply put, the goal of SVP is for the attacker to find the shortest vector from the origin (above in red) when given the basis of a lattice (above in blue). A zero vector doesn’t work as an answer, we consider it trivial.

How is it solved?

Like RSA with classical computers, it is hard to find the shortest vector of a large lattice, especially if it exists in many dimensions. One such slow solution for approximating the shortest vector is  Babai ‘s algorithm, or  Nearest Plane Algorithm , which you can read about in the links provided.

Thanks For Reading!

Lane on Twitter:  @wagslane

Lane on Dev.to:  wagslane

Download Qvault:  https://qvault.io

( Disclaimer : The Author is the Founder of QVault )


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Android 源码设计模式解析与实战

Android 源码设计模式解析与实战

何红辉、关爱民 / 人民邮电出版社 / 2015-11 / 79.00元

本书专门介绍Android源代码的设计模式,共26章,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、命令模式、观察者模式、备忘录模式、迭代器模式、模板方法模式、访问者模式、中介......一起来看看 《Android 源码设计模式解析与实战》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具