1363.1 Parameter Changes and Standard Status William Whyte, NTRU Cryptosystems.

Slides:



Advertisements
Similar presentations
STRONG security that fits everywhere. PROPRIETARY AND CONFIDENTIAL Analysis of NTRUEncrypt Paddings.
Advertisements

Chapter 15 Algorithms for Query Processing and Optimization Copyright © 2004 Pearson Education, Inc.
Hash-based Indexes CS 186, Spring 2006 Lecture 7 R &G Chapter 11 HASH, x. There is no definition for this word -- nobody knows what hash is. Ambrose Bierce,
Data Structures Using C++ 2E
PROPRIETARY AND CONFIDENTIAL Variation in Breaking Times for NTRU and Other Cryptosystems William Whyte, Joseph H. Silverman, NTRU Cryptosystems, March.
BIRCH: Is It Good for Databases? A review of BIRCH: An And Efficient Data Clustering Method for Very Large Databases by Tian Zhang, Raghu Ramakrishnan.
Uncertainty Analysis Using GEM-SA. GEM-SA course - session 42 Outline Setting up the project Running a simple analysis Exercise More complex analyses.
Search Techniques MSc AI module. Search In order to build a system to solve a problem we need to: Define and analyse the problem Acquire the knowledge.
Announcements: 1. Term project groups and topics due tomorrow midnight Waiting for posts from most of you. Questions? This week: Primality testing, factoring.
CNS2010handout 10 :: digital signatures1 computer and network security matt barrie.
CEG 221 Lesson 5: Algorithm Development II Mr. David Lippa.
Nature’s Algorithms David C. Uhrig Tiffany Sharrard CS 477R – Fall 2007 Dr. George Bebis.
Factoring 1 Factoring Factoring 2 Factoring  Security of RSA algorithm depends on (presumed) difficulty of factoring o Given N = pq, find p or q and.
Announcements: 1. Short “pop” quiz on Ch 3 (not today) 2. Term project groups and topics due tomorrow midnight Waiting for posts from 22 of you. 3. HW6:
EDA (CS286.5b) Day 5 Partitioning: Intro + KLFM. Today Partitioning –why important –practical attack –variations and issues.
FALL 2006CENG 351 Data Management and File Structures1 External Sorting.
FALL 2004CENG 3511 Hashing Reference: Chapters: 11,12.
Object (Data and Algorithm) Analysis Cmput Lecture 5 Department of Computing Science University of Alberta ©Duane Szafron 1999 Some code in this.
Session 6: Introduction to cryptanalysis part 1. Contents Problem definition Symmetric systems cryptanalysis Particularities of block ciphers cryptanalysis.
Data Structures Using C++ 2E Chapter 9 Searching and Hashing Algorithms.
(work appeared in SODA 10’) Yuk Hei Chan (Tom)
Backtracking.
1 NTRU: A Ring-Based Public Key Cryptosystem Jeffrey Hoffstein, Jill Pipher, Joseph H. Silverman LNCS 1423, 1998.
Dynamic Programming Introduction to Algorithms Dynamic Programming CSE 680 Prof. Roger Crawfis.
Lecture 5 Overview Does DES Work? Differential Cryptanalysis Idea – Use two plaintext that barely differ – Study the difference in the corresponding.
Cryptanalysis of the Revised NTRU Signature Scheme (NSS) Craig Gentry (DoCoMo) Mike Szydlo (RSA)
Space-Filling DOEs Design of experiments (DOE) for noisy data tend to place points on the boundary of the domain. When the error in the surrogate is due.
Polynomial Factorization Olga Sergeeva Ferien-Akademie 2004, September 19 – October 1.
Data Structures Introduction Phil Tayco Slide version 1.0 Jan 26, 2015.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 21 “Public-Key Cryptography.
 Optimal Packing of High- Precision Rectangles By Eric Huang & Richard E. Korf 25 th AAAI Conference, 2011 Florida Institute of Technology CSE 5694 Robotics.
Simplex method (algebraic interpretation)
Today  Table/List operations  Parallel Arrays  Efficiency and Big ‘O’  Searching.
Disclosure risk when responding to queries with deterministic guarantees Krish Muralidhar University of Kentucky Rathindra Sarathy Oklahoma State University.
Factorization of a 768-bit RSA modulus Jung Daejin Lee Sangho.
Strength of Cryptographic Systems Dr. C F Chong, Dr. K P Chow Department of Computer Science and Information Systems The University of Hong Kong.
DES Attacks and Triple DES
12.1 Chapter 12: Indexing and Hashing Spring 2009 Sections , , Problems , 12.7, 12.8, 12.13, 12.15,
Program Efficiency & Complexity Analysis. Algorithm Review An algorithm is a definite procedure for solving a problem in finite number of steps Algorithm.
PROPRIETARY AND CONFIDENTIAL Lattice Breaking Times William Whyte NTRU Cryptosystems March 2004.
CSC 211 Data Structures Lecture 13
Elements of Financial Risk Management Second Edition © 2012 by Peter Christoffersen 1 Simulating the Term Structure of Risk Elements of Financial Risk.
STRONG security that fits everywhere. P D5 Overview William Whyte NTRU Cryptosystems December 2005.
Sequence Comparison Algorithms Ellen Walker Bioinformatics Hiram College.
Public Key Systems 1 Merkle-Hellman Knapsack Public Key Systems 2 Merkle-Hellman Knapsack  One of first public key systems  Based on NP-complete problem.
ISCG8025 Machine Learning for Intelligent Data and Information Processing Week 3 Practical Notes Application Advice *Courtesy of Associate Professor Andrew.
Review 1 Arrays & Strings Array Array Elements Accessing array elements Declaring an array Initializing an array Two-dimensional Array Array of Structure.
1.1 CS220 Database Systems Indexing: Hashing Slides courtesy G. Kollios Boston University via UC Berkeley.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
MAE 552 Heuristic Optimization Instructor: John Eddy Lecture #12 2/20/02 Evolutionary Algorithms.
CPSC 404, Laks V.S. Lakshmanan1 Evaluation of Relational Operations – Join Chapter 14 Ramakrishnan and Gehrke (Section 14.4)
11 RSA Variants.  Scheme ◦ Select s.t. p and q = 3 mod 4 ◦ n=pq, public key =n, private key =p,q ◦ y= e k (x)=x (x+b) mod n ◦ x=d k (y)=  y mod n.
Week 15 – Wednesday.  What did we talk about last time?  Review up to Exam 1.
Searching Topics Sequential Search Binary Search.
STRONG security that fits everywhere. NTRUSign and P William Whyte,
Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.
Analysis & Design of Algorithms (CSCE 321)
Searching CSE 103 Lecture 20 Wednesday, October 16, 2002 prepared by Doug Hogan.
STRONG security that fits everywhere. PROPRIETARY AND CONFIDENTIAL NTRUSIGN TECHNICAL OVERVIEW NTRUSign: Digital Signatures in the NTRU Lattice Jeff Hoffstein,
MA/CSSE 473 Day 05 More induction Factors and Primes Recursive division algorithm.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
Mean Shift Segmentation
NTRUSign Parameters Challenge
Background: Lattices and the Learning-with-Errors problem
Lattices. Svp & cvp. lll algorithm. application in cryptography
Backtracking and Branch-and-Bound
The N-Queens Problem Search The N-Queens Problem Most slides from Milos Hauskrecht.
Cryptography Lecture 15.
Presentation transcript:

Parameter Changes and Standard Status William Whyte, NTRU Cryptosystems

Overview Attack from Crypto 2007: details Isodual lattice reduction P status and schedule

Attack NTRU keys are defined by h = public key, N coefficients uniformly distributed mod q f = private key f * h mod q = g, both f and g are small (binary / trinary) We can brute-force f: try all possible values until we find an f s.t. f*h is small Or, since f = f1 + f2, we can try all possible f1*h and f2*h and file the results –Then if f1*h is “close to” -f2*h, (f1+f2)*h will be small –This “combinatorial attack” allows us to trade off running time against memory –If memory is free the optimal result is to (roughly) square root the running time

Brute force attack in linear algebra terms Add {-1, 0, 1} * each rotation of h = (5, 17, 22, 9, 11) Reduce mod q = 32 Stop when the result (= g) is small (trinary or binary)

Improving brute force attack with lattice reduction Add {-1, 0, 1} * each of the top 4 rows to get vector G. Reduce G mod (8, *, *, *, *, *) –ie add/subtract row 5 until first coeff is < 8 Reduce G mod (0, 16, *, *, *, *) –ie add/subtract row 6 until second coeff is < 16 Reduce all other coeffs of G mod 32 Stop when G is small (= g)

Improving brute force attack with lattice reduction: analysis Why is this an improvement? –Brute force search is exponential in N –Reducing search space even by 1 dimension greatly reduces search time Tradeoffs? –Attacker is assuming that reducing mod 4 will help find the shortest vector – ie that that coefficient of the shortest vector is shorter than 2 –This could be wrong: short vector could possibly be a rotation that has 2.1 in that position –The lower the diagonal coefficient is, the greater the risk that “weak reduction” will give the wrong answer –The attacker wants to (a) reduce the number of {-1, 0, 1}s in the right column and (b) only perform weak reduction with sufficiently large diagonal values. This technique can also be used to speed up combinatorial attacks.

Combined lattice and combinatorial attack Consider N=251 key of form (f, g) where –f is binary, with df = 48 1s –g is binary with 125 1s Combinatorial attack takes (N/2 pick df/2) time Say we perform lattice reduction so that we can weakly reduce on 10% of the top N rows instead of having to binary-search them Then we can perform a combinatorial search taking time ((90%*N/2) pick (90%*df/2)) time For the figures above this reduces search operations from 2 84 to 2 74 –A net saving so long as lattice reduction time is < 2 74 operations As lattice reduction time goes up, combinatorial search time goes down Two lines cross at operations –Weakly reduce against 65 rows, combinatorial search in the remaining 186.

How to defend? For k bits of security –Determine experimentally how many q-vectors can be consumed for a given value of q with k bits of lattice reduction effort Call this N1 –For a given N and df, remaining combinatorial effort is approx ((N-N1) pick (df *(N-N1)/N)) Actually slightly smaller as some rotations of f will leave fewer than (df*(N-N1)/N) coefficients to pick –Pick K, d s.t. (K pick d) gives required level of combinatorial security –Then N = N1+K, df = d *(N/(N-N1)) will give k bits of combinatorial security *after* k bits of lattice reduction

New parameter sets Change: take p = 3, q = power of 2. –Previous drafts had p = 2, q prime –p = 3, q = power of 2 were used in the first proposed NTRU parameter sets Security considerations for (p = 3, q = power of 2) and (p = 2, q prime) not known to be different –Keys are now trinary, with df 1s, df -1s, (N-2df) 0s. Product form: F = f1*f2+f3, each with df’ 1s and -1s, s.t. df’*df’+df’ = df –Combinatorial goes from (N/2 pick df/2) to (N pick df) –Running time goes from df*N to 2*df*N

Calculating lattice security Lattice reduction algorithm: Blockwise Korkine-Zolotarev (BKZ) –No theoretical bound on running time; need to find running times experimentally –Fundamental parameter: blocksize b BKZ uses exhaustive search to find the actual shortest vector in each sublattice of dimension b The larger b is, the greater the chance that this is also the shortest vector in the entire lattice For each value of q: –Generate an NTRU lattice of high dimension –Run BKZ on the central section of that lattice for blocksize b = 2, 3, 4, … –Plot q-vectors consumed v running time 2N Reduced with b = 2 Reduced with b = 3 qh 1

Results Running time goes as b b for blocksize b Number of q-vectors consumed is linear in b As q increases, number of q- vectors consumed for a given b also increases Graph plots q-vectors removed v bits of effort –upward curve – slightly more than exponential running time Fit (b log b) line to the graph, then take the tangent at the last data point

Isodual lattice reduction Incremental improvement in lattice reduction techniques that appears to lower slope of extrapolated lattice reduction time line. Results to be posted on ePrint before 10/30 Requires additional small increase in lattice dimension to maintain security

Anticipated parameter sets kN previous N dfdf’ops previous ops q

To do Complete migration of supporting algorithms from binary to trinary Complete update of security considerations Complete specification of parameter generation algorithm ETA: 10/31