Fuzzy-search on Content-Addressable Filesystem with Threshold Cryptosystem

Size: px
Start display at page:

Download "Fuzzy-search on Content-Addressable Filesystem with Threshold Cryptosystem"

Transcription

1 on Content-Addressable Filesystem with Threshold Cryptosystem Aufar Gilbran Informatics / Computer Science School of Electrical Engineering and Informatics Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia aufargilbran@gmail.com Abstract This paper aims to provide a unique approach to create a applicative usage of threshold cryptosystem, specifically secret sharing, on content-addressable Through some careful file structure modification, secret sharing cryptosystem can be used to do fuzzy-search on these filesystems which files is addressed by its full content. ing allow us to get content of the file by its partial content, which significantly increase the usability of this type of filesystem to be used by human. Keywords threshold cryptosystem, secret sharing, contentaddressable filesystem I. INTRODUCTION Filesystems are the core structure responsible for managing files created by a user. Filesystem help us to read, write, delete and update the file by receiving what we wanted the to be and update the block of data located in the disk accordingly. There's no computer system that doesn't use filesystem because most user want to have some data to be persistent, thus filesystem is essential. Since disk access is very slow, a good filesystem needs to manage operations done by user efficiently, that is with as minimum disk access as possible. There are many types of filesystem, some are specific to the device/medium and some are created for efficient disk access but all of those filesystems are created to meet the user demand. The most important user demand is functionality. User want filesystems that provides functionality that supports the operation that the user wanted. We could have a filesystem that implement all known functionality that any user demand, but any user wouldn't want to use a monolithic filesystem because it would take too much time to run user operations. Because of that, filesystems are created for a specific cause in mind. One of the many filesystem types that are known are the content-addressable Content-addressable filesystem manage user files by mapping between the digest of the file and its location on the disk. Thus, to locate a file in the filesystem, the user just need to provide its content digest to the filesystem and the filesystem look at the mapping and then return the located file to the user. This is done in a very quick manner because there's no need to traverse a directory structure like general usage The problem is, a contentaddressable are limited in functionality because we need to keep track on all the digest of a file content. Of course, it is the system that keep track of the mapping between file digest and file location, but what if the user need a specific file with only some of its content? There is a technique that is commonly used to search by partial content called fuzzy-searching. ing let us find our desired string with some of its non-overlapping substring. This technique is useful for human because most of the time we cannot remember a full, exact string that we desired but it is easier for to remember that the string we are searching have some keywords. The goal of this technique is to retrieve our string with keywords that we do remember. This technique is useful for the kind of functionality that we need in a content-addressable filesystem to make usage of the filesystem easier. The next problem is how to verify the file with some of its partial content when what we have is only the file content digest. To solve this problem, we need to do some modification to how a file is structured in normal content-addressable We also need to be able to verify a string with some other partial string. This could be done with the threshold cryptosystem. In this paper, we will discuss the content-addressable filesystem, how it was structured and used, and how we can add fuzzy-searching functionality with threshold cryptosystem (specifically secret sharing) that can be useful on this type of II. FUNDAMENTAL KNOWLEDGE AND THEOREM The following knowledges and theorems are essential to implement fuzzy-searching functionality on a contentaddressable A. Content-addressable Filesystem Knowledge of filesystem is the key to impelement a new functionality to a Specifically, knowledge of

2 content-addressable filesystem is crucial to understand how to integrate the functionality into our But first, before we can implement a new functionality to a filesystem, we need to each term that may be required to understand the implementation of the new functionality. File is a form of abstraction used for storing information, which is available to a computer program and is usually based on some kind of persistent storage. A file need to be persistent in the sense that it remains available for other programs to use after the program that created it has finished executing. Filesystem is used to control how data is stored and retrieved. Without a filesystem, information placed in a storage area would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into blocks of information and giving each block a specific name, the information is separated and can be easily identified. There are many different kinds of filesystems. Each one has different structure and logic, properties of speed, flexibility, security, size and more. Some filesystems have been designed to be used for specific applications. For this paper, we only need to understand the content-addressable Content-addressable filesystem is based on contentaddressable storage also referred to as associative storage, which mechanism is for storing information that can be retrieved based on its content, not its storage location. It is typically used for high-speed storage and retrieval of fixed content. Content-addressable filesystem add one more level of abstraction from content-addressable storage to a filesystem, thus the operations return a digest of the file which can be mapped into its storage location. Knowledge of content-addressable filesystem is B. Shamir's Secret Sharing Threshold Cryptosystem Threshold Cryptosystem is a cryptosystem such that, in order to decrypt an encrypted message in the system, several key holders (more than some threshold number) must cooperate in the decryption process. The message is encrypted with a public key and then the corresponding private key is distributed among the participating parties. Let n be the number of key holders. The threshold cryptosystem is called (k,n)-threshold, if at least t of these key holders can efficiently decrypt the ciphertext, while less than k of these key holders will not be able to get any useful information. Obviously it is possible to define (k,n)-threshold signature scheme, where at least k parties are required for creating a signature. Threshold versions of encryption schemes can be built for many public encryption schemes. The goal of these schemes is to be more secure as the original scheme. Shamir's Secret Sharing is an algorithm in cryptography created by Adi Shamir, creator of RSA. It is a form of secret sharing, where a secret is divided into different shares, giving each participant its own unique share. Some of the shares or all of them are needed in order to reconstruct the secret. The following is the algorithms to distribute the secret to each of key holders: Suppose we want to use a (k,n)-threshold scheme to share our secret S. Choose random prime P number and k-1 positive integers a 1, a 2,, a k-1, with a i < P. Let a 0 = S. Build the polynomial f(x) = a 0 + a 1x + a 2x a k-1x k-1. To give the i-th participant their share, we need to compute (n i, f(n i)), with n i is a unique integer assigned to the i-th participant. It should be different with n j for i j. The computation result it the share for the i-th participant To resconstruct the secret, we can use any subset of k of key holder's share and find the coefficient of the polynomial using polynomial interpolation. The secret is then the constant term a 0. C. In string theorem, fuzzy searching is the technique to find desired strings provided a pattern with approximations (rather than exactly equal). The closeness of a match is measured in terms of the number of operations necessary to convert the string into an exact match. This number is called the edit distance between the string and the pattern. However, in this paper we only use fuzzy-search as a concept and functionality. That is, the user can provide some patterns and the algorithm then returns the string desired. In fact, we will not use the standard measurement of closeness to find the exact match and instead use Shamir's Secret Sharing decryption process to validate the correctness. III. PROPOSED DESIGN For fuzzy-searching functionality become available in our filesystem, we need to have our own design of the This design should describe the following points: File structure File operations Filesystem operations For simplicity, we also need an assumption that holds true for every operation and structure in the filesystem without loss of generality. This makes sure that the explanation for the design is a simple as possible but general enough to be used at different type of machines and devices. Let us call the new designed filesystem as AGFS with the assumption that every file on AGFS is a plaintext file and filesystem operations are operating on byte level. AGFS will have standard architecture and operations like other contentaddressable filesystem but with some modifications on file structure and operations addition. These modifications and addition are required to keep the needed data to verify fuzzysearching closeness to its corresponding data and also define operations interface between user program and the We also assume that the file cannot be changed. To change the file, instead of updating the current blocks we delete the old file and write new file. This mechanism is used

3 because when we change the file on a content-addressable filesystem, we need to update all the header of the file. This makes the usual update operations pointless and we can just discard update operations to keep things simple. Before we look at each filesystem architecture, we need to define how user can provide the pattern for fuzzy-searching. We use a variant of fuzzy-search, that is we do not provide a single pattern but multiple patterns. We will call the possible pattern for fuzzy-searching as tag for the rest of the paper. Filesystem users will provide tags to locate file in fuzzy-search manner. These tags are generated from the content of the file that is split by each words. Each unique word then become a tag for fuzzy-searching. The following are modifications from standard contentaddressable filesystem made to support the fuzzy-searching functionality. A. File Structure File structure in a filesystem commonly have file entry, file header, and file content sections (or blocks). These section defines and keep information required for the filesystem to process file operations applied to the file and pointers to locate related file sections. In AGFS, the file structure is defined as follows: File Entry The file entry is a block in the upper level of storage area that function as an entry point of a file. This entry point should have a pointer to the file header location on disk and the location of the file content on disk. This block include informations that can be used by the filesystem to determine what can be done on the file by user. For AGFS, the file entry should keep additional informations required to construct the secret that is distributed using Shamir's Secret Sharing scheme. The secret is the file header explained later. These information should be capable to do a mapping between fuzzy-search tag that is possibly provided by the user to the actual share linked to the pattern. The mapping is done by using one property of Shamir's Secret Sharing scheme, that is, to construct the secret on (k,n)-threshold scheme, only k subset out of n is required. These means that the shares is actually interchangeable. Suppose that we have h 1, h 2, and h 3 with h i is the i-th participant. If the 3 rd participant were to suddenly bail out of the cooperation, we can still proceed the decryption process with 4 th participant or 5 th participant share. This property means that each tag can be assigned with whatever shares currently available. Thus, populating the mapping table becomes trivial task. File Header The file header is one or more blocks that keeps informations about the files, so the filesystem know what to do to process the user request operation for file. In standard content-addressable storage, the file header section also define the file content digest which usually used to point to the file location in the storage. Usually, on content-addressable filesystem and its derivatives, the file content digest is not used as the digest already points to the file entry which have the content's location on the storage. In our new filesystem, we will exploit the digest and exploit its convention to add information required by our For AGFS, the file header section is used to actually validate the closeness of the file with tags provided by user. We added a new field to the header that is a magic string unique to our Magic string is a string that exists solely for the purpose of verifying. In our cause, we want to know wether or not the secret construction actually contains the magic string. File header in AGFS act as a secret that is distributed by the Shamir's Secret Sharing scheme. This can be done as follows: The file header has magic string that besides act as a verification string, it also act as a pad to make sure the total file header size is 64-bit. The file header (including file content digest and file type) is used as a secret and then distributed using Shamir's Secret Sharing scheme to get the shares. The scheme used is proportional to the number of tags available. So if there's n tag and we only require at least k tag to construct the secret, we use the (k,n)-threshold scheme to distribute the share. Since the file header also includes the file content digest, each file with the different content or different file type will have different secret. Thus, the shares will be different if the file is different. This implies that different share will not be able to construct the original file header and the filesystem will decide that the file is not a match since the magic string will not be the same. At the creation of the file, the filesystem need to create the mapping table between the shares and fuzzy-search tags locatable from file entry section. Implementation details of mapping table creating is explained later in this paper. B. File Operations The only change we need to introduce to the file operations are the offset of the file header. Since there is the newly added magic string before the standard file header, we need to make sure that every file operations start operate with additional B bit offset, with B is the magic string size. C. Filesystem Operations File operations are defined as an interface between user programs and the When user program need to do a specific operation on the file, it calls the filesystem operation

4 defined in the filesystem with the interface proper parameters to modify the file. Some filesystem operations in AGFS needs to be modified to accommodate the fuzzy-searching functionality. The modification takes place on CREATE, UPDATE, and OPEN operations with the modification as follows: CREATE File creation is provided by the CREATE operation on In standard content-addressable filesystem, the CREATE operation will do the following: Check to see if the file already exists by checking the digest existence. Allocate Space on the disk for the file. Insert a pointer to the first block of the file entry. In AGFS, we add more steps to add mapping table between fuzzy-searching tags and secret shares distributed by Shamir's Secret Sharing scheme with file header as the secret. The additional steps are as follow: Create a list of fuzzy-searching tags created by splitting the file content by words. Create a list of shares distributed by Shamir's Secret Sharing scheme. For each tag in tag list, assign to any share on the share list that is not assigned yet as the corresponding share value for the tag. Write a pointer on the file entry section to the first tag-share mapping. After these operations, the file entry section will have a pointer to list of tag-share mapping. UPDATE As mentioned before, the update operation are to be deprecated and replaced by the DELETE and CREATE operation. Although we say replaced, to make the filesystem to be compatible with current technologies, we only change the logic of UPDATE operations to call CREATE and DELETE. The UPDATE operation will work as follow: Keep the file before update in the memory. Apply the update to the file in memory. Create new file with its content from the file in memory. If the new file is created successfully, delete the old file. This mechanism make sure that the tags and content digest are always updated atomically. OPEN Because we added a magic string before the digest, we need to slightly change the OPEN operation to read the message digest B bits after the pointed location provided by file entry section with B is the size of the magic string. Other than these operations, filesystem operations are the same with standard content-addressable There is additional operation that is needed for the fuzzysearch to be working as intended. We will call operation as SEARCH. The operation is working as follows: SEARCH Fuzzy-finding is provided by this operation. The operation take list of tags as its parameter, and then reconstruct the secret for each file header in the storage. If the secret is valid, that is the magic string is identifiable, then the file entry is a match. Aside from these modifications, we use the standard architecture from content-addressable filesystem for our The overall architecture of the new filesystem are illustrated by Figure 1. Figure 1. Overall filesystem and file architecture IV. EXPERIMENT AND ANALYSIS Experimentation on AGFS will done mostly on the fuzzysearching functionality that is added on top of standard content-addressable The experiment will be done in these scenarios: The created a new file on AGFS and then fuzzy search the new file using some of its content with wrong share, but the correct ones still above the threshold when there is two or more files For these experiment, we will assume that the magic string is 7c60 in hexadecimal representation. Also, the experiments

5 will be done with (2, n)-threshold scheme, such that it is required to have at least 2 tags to get a match. A. File creation and fuzzy search on AGFS This scenario assume that standard content-addressable filesystem operation are working as intended. Thus, we only need to check if the mapping actually works. The following table describe the experiment result (bold is input and normal is output: File 1 7c600ac6b5f3b72f fuzzy searching is awesome At 0x0000 At 0x0010 At 0x0100 At 0x0110 Next: 0x0010 Next: 0x0100 Next: 0x0110 Next: NULL Tag: fuzzy bd12a 4e49bc6f5e Tag: searching f4ac b506d1acd Tag: is 803c225ae6a 43ac22c2bc Tag: awesome 80418a09e8a dc62d2f0f6 Tags: fuzzy, is 803c225ae6a43ac22c2bc] Secret: 7c600ac6b5f3b72f Table 1. File creation and fuzzy-search experiment result As seen from the experiment result in Table 1, the file operations CREATE created a linked list mapping with each element in the list map a tag to a share and vice-versa. It also correctly construct the secret in which the filesystem can verifiy the existence of the magic string (7c60). From the experiment result, we know that the mapping table size will be proportional to the amount of unique words in the file content. This is a waste of space since basically we need O(n) more space for n words file. This may or may not pose a problem, depending on the system specific needs. The fuzzy search also has horrible performance since all the tags need to be matched against all possible tags listed in the file mapping tables. The complexity to match a file is O(WT), with W is the number of words in the file and T is the number of tags the fuzzy-search provides. B. with the wrong share For this scenario, we will use the last experiment table, but with different fuzzy-searching parameters given to the File 1 7c600ac6b5f3b72f fuzzy searching is awesome At 0x0000 At 0x0010 At 0x0100 At 0x0110 Next: 0x0010 Next: 0x0100 Next: 0x0110 Next: NULL Tag: fuzzy bd12a 4e49bc6f5e Tag: searching f4ac b506d1acd Tag: is 803c225ae6a 43ac22c2bc Tag: awesome 80418a09e8a dc62d2f0f6 Tags: fuzzy, are, awesome , 80418a09e8adc62d2f0f6] Secret: 004bd12a4e49bc6f5e Tags: fuzzy, searching, are f4acb506d1acd, ] Secret: 7c600ac6b5f3b72f Table 2. with wrong share included result The experiment result from Table 2 shows us that if there's a wrong share included the algorithm correctness is determine whether there is enough correct shares before the wrong share. This undeterministic behavior is very bad for a Thus, it is better to just let the match fail when there is a tag that does not exist in the mapping table. C. when there is two or more files For this scenario, because a different file will unlikely to have the same mapping table (which will increase the likelihood of wrong share), we assume that the filesystem will let the match fail when there is a tag that does not exist in the mapping table. The filesystem will inform the user program with exception. We will use the previous file in the filesystem and create a new file to test this. The only difference of these file will be the content of these two files, which makes the content digest on the file header to be different too. File 1

6 7c600ac6b5f3b72f fuzzy searching is awesome At 0x0000 At 0x0010 At 0x0100 At 0x0110 Next: 0x0010 Next: 0x0100 Next: 0x0110 Next: NULL Tag: fuzzy bd12a 4e49bc6f5e Tag: searching f4ac b506d1acd Tag: is 803c225ae6a 43ac22c2bc Tags: fuzzy, is, awesome 803c225ae6a43ac22c2bc, 80418a09e8adc62d2f0f6] Secret: 7c600ac6b5f3b72f Tags: awesome, cryptosystem ] Secret: failed match exception by filesystem File 2 7c60c3fbe3d14c2f awesome threshold cryptosystem At 0x0000 At 0x0010 At 0x0100 Tag: awesome 80418a09e8a dc62d2f0f6 Next: 0x0010 Next: 0x0100 Next: NULL Tag: awesome Tag: threshold Tag: cryptosystem 8011e3b67aeeabcc f036a 8023ff26e19d95de dd2a5 Tags: fuzzy, is, awesome , b56974c802f39de0] Secret: failed match exception by filesystem Tags: awesome, cryptosystem [8011e3b67aeeabccf036a, 80320b56974c802f39de0] Secret: 7c60c3fbe3d14c2f 80320b56974c802f 39de0 Table 3. when there is two or more files experiment result Experiment result from Table 3 shows us that the fuzzysearch feature working as intended when there are multiple files. Each of the file's file header (the secret) can be constructed back from the tag and if the tag is wrong, the file will not be matched. The experiment also show us how space-inefficient the AGFS architecture is. For each file, AGFS will create the mapping for corresponding to the file, even if the tag is exists in other files. This mapping table will effectively reduce the amount of effective disk space available to the user by 3 to 4 times the original size, which is undesirable. The fuzzy-search on multiple files also bring performance hit, since AGFS need to scan through all file entry in the storage. This implies that a fuzzy-search is proportional not only to the number of words in the file, but also the number of files in the storage. The complexity for doing a fuzzy-search is O(NWT), with N is the number of files, W is the number of words in the file, and T is the number of tags the fuzzy-search provides. V. CONCLUSIONS Cryptography has always been about securing informations and knowledge. In this paper, we see that cryptography can be beneficial in fields other than security. The possibility of a previously impossible feat that cryptography can achieve make the author hopes for more applications of cryptography that is beneficial in fields other than security. The use of cryptography for filesystem addressing is a completely possible feat, in the sense that correctness of the functionality is achieved. It still lack of efficiency because there is no prior mature study to this application of cryptography. The author hope for further study, improving filesystem architecture to be more efficient but as effetive as AGFS. ACKNOWLEDGMENT I thank Allah S.W.T. for health and strength so I can finish this paper, Mr. Rinaldi Munir for his teaching in Cryptography course during this semester, and also my friends and fellow students in Informatics Institut Teknologi Bandung for their supports and assistance. REFERENCES [1] Grosshans, Daniel. File Systems: Design and Implementation. Englewood Cliffs, NJ: Prentice-Hall, Print. [2] Shamir, Adi (1979), "How to share a secret", Communications of the ACM 22 (11): , doi: /

7 ORIGINALITY STATEMENT I hereby declare that this paper is my own writing, not an adaptation, nor translation of other's paper and not plagiarism. Bandung, 19 th May 2016 Aufar Gilbran

Visual Cryptography of Animated GIF Image Based on XOR Operation

Visual Cryptography of Animated GIF Image Based on XOR Operation 2017 International Conference on dvanced Computing and pplications Visual Cryptography of nimated GIF Image Based on XOR Operation Rinaldi Munir School of Electrical Engineering and Informatics Institut

More information

Sharing Several Secrets based on Lagrange s Interpolation formula and Cipher Feedback Mode

Sharing Several Secrets based on Lagrange s Interpolation formula and Cipher Feedback Mode Int. J. Nonlinear Anal. Appl. 5 (2014) No. 2, 60-66 ISSN: 2008-6822 (electronic) http://www.ijnaa.semnan.ac.ir Sharing Several Secrets based on Lagrange s Interpolation formula and Cipher Feedback Mode

More information

Key Exchange. Secure Software Systems

Key Exchange. Secure Software Systems 1 Key Exchange 2 Challenge Exchanging Keys &!"#h%&'() & & 1 2 6(6 1) 2 15! $ The more parties in communication, the more keys that need to be securely exchanged " # Do we have to use out-of-band methods?

More information

Davenport University ITS Lunch and Learn February 2, 2012 Sneden Center Meeting Hall Presented by: Scott Radtke

Davenport University ITS Lunch and Learn February 2, 2012 Sneden Center Meeting Hall Presented by: Scott Radtke Davenport University ITS Lunch and Learn February 2, 2012 Sneden Center Meeting Hall Presented by: Scott Radtke A discussion on the mathematics behind coding and decoding using RSA Public-Key Cryptography.

More information

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010 CS 494/594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010 1 Public Key Cryptography Modular Arithmetic RSA

More information

A compact Aggregate key Cryptosystem for Data Sharing in Cloud Storage systems.

A compact Aggregate key Cryptosystem for Data Sharing in Cloud Storage systems. A compact Aggregate key Cryptosystem for Data Sharing in Cloud Storage systems. G Swetha M.Tech Student Dr.N.Chandra Sekhar Reddy Professor & HoD U V N Rajesh Assistant Professor Abstract Cryptography

More information

Lecture 6: Overview of Public-Key Cryptography and RSA

Lecture 6: Overview of Public-Key Cryptography and RSA 1 Lecture 6: Overview of Public-Key Cryptography and RSA Yuan Xue In this lecture, we give an overview to the public-key cryptography, which is also referred to as asymmetric cryptography. We will first

More information

Optimization of Boyer-Moore-Horspool-Sunday Algorithm

Optimization of Boyer-Moore-Horspool-Sunday Algorithm Optimization of Boyer-Moore-Horspool-Sunday Algorithm Rionaldi Chandraseta - 13515077 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Bandung, Indonesia

More information

Introduction to Cryptography and Security Mechanisms. Abdul Hameed

Introduction to Cryptography and Security Mechanisms. Abdul Hameed Introduction to Cryptography and Security Mechanisms Abdul Hameed http://informationtechnology.pk Before we start 3 Quiz 1 From a security perspective, rather than an efficiency perspective, which of the

More information

Secure Multiparty Computation

Secure Multiparty Computation CS573 Data Privacy and Security Secure Multiparty Computation Problem and security definitions Li Xiong Outline Cryptographic primitives Symmetric Encryption Public Key Encryption Secure Multiparty Computation

More information

Secret Sharing. See: Shamir, How to Share a Secret, CACM, Vol. 22, No. 11, November 1979, pp c Eli Biham - June 2, Secret Sharing

Secret Sharing. See: Shamir, How to Share a Secret, CACM, Vol. 22, No. 11, November 1979, pp c Eli Biham - June 2, Secret Sharing Secret Sharing See: Shamir, How to Share a Secret, CACM, Vol. 22, No. 11, November 1979, pp. 612 613 c Eli Biham - June 2, 2011 464 Secret Sharing How to Keep a Secret Key Securely Information can be secured

More information

Cryptography and Network Security. Sixth Edition by William Stallings

Cryptography and Network Security. Sixth Edition by William Stallings Cryptography and Network Security Sixth Edition by William Stallings Chapter 9 Public Key Cryptography and RSA Misconceptions Concerning Public-Key Encryption Public-key encryption is more secure from

More information

Computer Security 3/23/18

Computer Security 3/23/18 s s encrypt a block of plaintext at a time and produce ciphertext Computer Security 08. Cryptography Part II Paul Krzyzanowski DES & AES are two popular block ciphers DES: 64 bit blocks AES: 128 bit blocks

More information

RSA (material drawn from Avi Kak Lecture 12, Lecture Notes on "Computer and Network Security" Used in asymmetric crypto.

RSA (material drawn from Avi Kak Lecture 12, Lecture Notes on Computer and Network Security Used in asymmetric crypto. RSA (material drawn from Avi Kak (kak@purdue.edu) Lecture 12, Lecture Notes on "Computer and Network Security" Used in asymmetric crypto. protocols The RSA algorithm is based on the following property

More information

Side-Channel Attacks on RSA with CRT. Weakness of RSA Alexander Kozak Jared Vanderbeck

Side-Channel Attacks on RSA with CRT. Weakness of RSA Alexander Kozak Jared Vanderbeck Side-Channel Attacks on RSA with CRT Weakness of RSA Alexander Kozak Jared Vanderbeck What is RSA? As we all know, RSA (Rivest Shamir Adleman) is a really secure algorithm for public-key cryptography.

More information

Galois Field with Power of Prime Order in Cryptography

Galois Field with Power of Prime Order in Cryptography Galois Field with Power of Prime Order in Cryptography Dewita Sonya Tarabunga 13515021 School of Electrical Engineering and Informatics Institut Teknologi Bandung dewitast20@gmail.com Abstract Elliptic

More information

Public Key Cryptography and the RSA Cryptosystem

Public Key Cryptography and the RSA Cryptosystem Public Key Cryptography and the RSA Cryptosystem Two people, say Alice and Bob, would like to exchange secret messages; however, Eve is eavesdropping: One technique would be to use an encryption technique

More information

Public Key Algorithms

Public Key Algorithms Public Key Algorithms 1 Public Key Algorithms It is necessary to know some number theory to really understand how and why public key algorithms work Most of the public key algorithms are based on modular

More information

Directed Graph for Finite-State Machine

Directed Graph for Finite-State Machine Directed Graph for Finite-State Machine Tito D. Kesumo Siregar (13511018) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

More information

Efficient Generation of Linear Secret Sharing. Scheme Matrices from Threshold Access Trees

Efficient Generation of Linear Secret Sharing. Scheme Matrices from Threshold Access Trees Efficient Generation of Linear Secret Sharing 1 Scheme Matrices from Threshold Access Trees Zhen Liu, Zhenfu Cao, and Duncan S. Wong Abstract Linear Secret Sharing Scheme (LSSS) matrices are commonly used

More information

Introduction to Cryptography and Security Mechanisms: Unit 5. Public-Key Encryption

Introduction to Cryptography and Security Mechanisms: Unit 5. Public-Key Encryption Introduction to Cryptography and Security Mechanisms: Unit 5 Public-Key Encryption Learning Outcomes Explain the basic principles behind public-key cryptography Recognise the fundamental problems that

More information

CS669 Network Security

CS669 Network Security UNIT II PUBLIC KEY ENCRYPTION Uniqueness Number Theory concepts Primality Modular Arithmetic Fermet & Euler Theorem Euclid Algorithm RSA Elliptic Curve Cryptography Diffie Hellman Key Exchange Uniqueness

More information

Computer Security. 08. Cryptography Part II. Paul Krzyzanowski. Rutgers University. Spring 2018

Computer Security. 08. Cryptography Part II. Paul Krzyzanowski. Rutgers University. Spring 2018 Computer Security 08. Cryptography Part II Paul Krzyzanowski Rutgers University Spring 2018 March 23, 2018 CS 419 2018 Paul Krzyzanowski 1 Block ciphers Block ciphers encrypt a block of plaintext at a

More information

Goals for Today. Substitution Permutation Ciphers. Substitution Permutation stages. Encryption Details 8/24/2010

Goals for Today. Substitution Permutation Ciphers. Substitution Permutation stages. Encryption Details 8/24/2010 Encryption Details COMP620 Goals for Today Understand how some of the most common encryption algorithms operate Learn about some new potential encryption systems Substitution Permutation Ciphers A Substitution

More information

Chapter 3 Public Key Cryptography

Chapter 3 Public Key Cryptography Cryptography and Network Security Chapter 3 Public Key Cryptography Lectured by Nguyễn Đức Thái Outline Number theory overview Public key cryptography RSA algorithm 2 Prime Numbers A prime number is an

More information

Public Key Cryptography

Public Key Cryptography graphy CSS322: Security and Cryptography Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 29 December 2011 CSS322Y11S2L07, Steve/Courses/2011/S2/CSS322/Lectures/rsa.tex,

More information

Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls

Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls Overview Cryptography functions Secret key (e.g., DES) Public key (e.g., RSA) Message

More information

A nice outline of the RSA algorithm and implementation can be found at:

A nice outline of the RSA algorithm and implementation can be found at: Cryptography Lab: RSA Encryption and Decryption Lab Objectives: After this lab, the students should be able to Explain the simple concepts of encryption and decryption to protect information in transmission.

More information

Other Uses of Cryptography. Cryptography Goals. Basic Problem and Terminology. Other Uses of Cryptography. What Can Go Wrong? Why Do We Need a Key?

Other Uses of Cryptography. Cryptography Goals. Basic Problem and Terminology. Other Uses of Cryptography. What Can Go Wrong? Why Do We Need a Key? ryptography Goals Protect private communication in the public world and are shouting messages over a crowded room no one can understand what they are saying 1 Other Uses of ryptography Authentication should

More information

Other Topics in Cryptography. Truong Tuan Anh

Other Topics in Cryptography. Truong Tuan Anh Other Topics in Cryptography Truong Tuan Anh 2 Outline Public-key cryptosystem Cryptographic hash functions Signature schemes Public-Key Cryptography Truong Tuan Anh CSE-HCMUT 4 Outline Public-key cryptosystem

More information

Elastic Block Ciphers: The Feistel Cipher Case

Elastic Block Ciphers: The Feistel Cipher Case Elastic Block Ciphers: The Feistel Cipher Case Debra L. Cook Moti Yung Angelos D. Keromytis Department of Computer Science Columbia University, New York, NY dcook,moti,angelos @cs.columbia.edu Technical

More information

INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET)

INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET) INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET) International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN 0976 ISSN 0976 6464(Print)

More information

Distributed Systems. 26. Cryptographic Systems: An Introduction. Paul Krzyzanowski. Rutgers University. Fall 2015

Distributed Systems. 26. Cryptographic Systems: An Introduction. Paul Krzyzanowski. Rutgers University. Fall 2015 Distributed Systems 26. Cryptographic Systems: An Introduction Paul Krzyzanowski Rutgers University Fall 2015 1 Cryptography Security Cryptography may be a component of a secure system Adding cryptography

More information

Cryptography (DES+RSA) by Amit Konar Dept. of Math and CS, UMSL

Cryptography (DES+RSA) by Amit Konar Dept. of Math and CS, UMSL Cryptography (DES+RSA) by Amit Konar Dept. of Math and CS, UMSL Transpositional Ciphers-A Review Decryption 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Encryption 1 2 3 4 5 6 7 8 A G O O D F R I E N D I S A T R E

More information

Geldy : A New Modification of Block Cipher

Geldy : A New Modification of Block Cipher Geldy : A New Modification of Block Cipher Candy Olivia Mawalim (13513031) School of Electrical Engineering and Informatics Institut Teknologi Bandung Jl. Ganesha 10 Bandung 40132, Indonesia 13513031@std.stei.itb.ac.id

More information

CS 556 Spring 2017 Project 3 Study of Cryptographic Techniques

CS 556 Spring 2017 Project 3 Study of Cryptographic Techniques CS 556 Spring 2017 Project 3 Study of Cryptographic Techniques Project Due Dates: Part A: Due before class on CANVAS by Thursday, March 23, 2017 Part B: Due before class on CANVAS by Thursday April 6,

More information

CSE 127: Computer Security Cryptography. Kirill Levchenko

CSE 127: Computer Security Cryptography. Kirill Levchenko CSE 127: Computer Security Cryptography Kirill Levchenko October 24, 2017 Motivation Two parties want to communicate securely Secrecy: No one else can read messages Integrity: messages cannot be modified

More information

Zero private information leak using multi-level security and privileged access for designated authorities on demand

Zero private information leak using multi-level security and privileged access for designated authorities on demand Zero private information leak using multi-level security and privileged access for designated authorities on demand Syama BabuRaj 1, Pretty Babu 2 Dept.Computer Science & Engg., Sree Buddha College of

More information

EECE.4810/EECE.5730: Operating Systems Spring 2017

EECE.4810/EECE.5730: Operating Systems Spring 2017 EECE.4810/EECE.5730: Operating Systems Spring 2017 1. (16 points) Storage devices Final Exam Solution Assume you have a magnetic hard disk with tracks numbered from 0-127, track 0 being the outermost track.

More information

Encryption Details COMP620

Encryption Details COMP620 Encryption Details COMP620 Encryption is a powerful defensive weapon for free people. It offers a technical guarantee of privacy, regardless of who is running the government It s hard to think of a more

More information

ENCM 369 Winter 2017 Lab 3 for the Week of January 30

ENCM 369 Winter 2017 Lab 3 for the Week of January 30 page 1 of 11 ENCM 369 Winter 2017 Lab 3 for the Week of January 30 Steve Norman Department of Electrical & Computer Engineering University of Calgary January 2017 Lab instructions and other documents for

More information

(2½ hours) Total Marks: 75

(2½ hours) Total Marks: 75 (2½ hours) Total Marks: 75 N. B.: (1) All questions are compulsory. (2) Makesuitable assumptions wherever necessary and state the assumptions made. (3) Answers to the same question must be written together.

More information

Secret Sharing, Key Escrow

Secret Sharing, Key Escrow Problem with private keys Secret Sharing, Key Escrow Ozalp Babaoglu In many situations, a secret (key) is known to only a single individual Private key in asymmetric cryptography The key in symmetric cryptography

More information

CPSC 424/624 Exam 2 Solutions closed book, notes, computer Spring 2015 (Note: there are no questions that are just for 624 students)

CPSC 424/624 Exam 2 Solutions closed book, notes, computer Spring 2015 (Note: there are no questions that are just for 624 students) CPSC 424/624 Exam 2 Solutions closed book, notes, computer Spring 2015 (Note: there are no questions that are just for 624 students) Name: 1 (30) Questions on CIA 1.1 (15) One simple substitution cipher

More information

Bridge and Torch Problem Using Dynamic Programming

Bridge and Torch Problem Using Dynamic Programming Bridge and Torch Problem Using Dynamic Programming Varian Caesar 13514041 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganeca 10 Bandung 40132,

More information

Public-Key Cryptography

Public-Key Cryptography Computer Security Spring 2008 Public-Key Cryptography Aggelos Kiayias University of Connecticut A paradox Classic cryptography (ciphers etc.) Alice and Bob share a short private key using a secure channel.

More information

Cryptography (Overview)

Cryptography (Overview) Cryptography (Overview) Some history Caesar cipher, rot13 substitution ciphers, etc. Enigma (Turing) Modern secret key cryptography DES, AES Public key cryptography RSA, digital signatures Cryptography

More information

Midterm Exam. CS381-Cryptography. October 30, 2014

Midterm Exam. CS381-Cryptography. October 30, 2014 Midterm Exam CS381-Cryptography October 30, 2014 Useful Items denotes exclusive-or, applied either to individual bits or to sequences of bits. The same operation in Python is denoted ˆ. 2 10 10 3 = 1000,

More information

Secret Sharing in Audio Steganography

Secret Sharing in Audio Steganography Secret Sharing in Audio Steganography Ka Fai Peter Chan Defence, Peace, Safety & Security (DPSS) Council for Scientific and Industrial Research Pretoria, South Africa kchan@csir.co.za Abstract This paper

More information

Applied Cryptography and Computer Security CSE 664 Spring 2018

Applied Cryptography and Computer Security CSE 664 Spring 2018 Applied Cryptography and Computer Security Lecture 13: Public-Key Cryptography and RSA Department of Computer Science and Engineering University at Buffalo 1 Public-Key Cryptography What we already know

More information

Chapter 8 Security. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Chapter 8 Security. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Chapter 8 Security A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations; and can add,

More information

International Journal of Scientific Research and Reviews

International Journal of Scientific Research and Reviews Research article Available online www.ijsrr.org ISSN: 2279 0543 International Journal of Scientific Research and Reviews Asymmetric Digital Signature Algorithm Based on Discrete Logarithm Concept with

More information

Cryptographic Algorithms - AES

Cryptographic Algorithms - AES Areas for Discussion Cryptographic Algorithms - AES CNPA - Network Security Joseph Spring Department of Computer Science Advanced Encryption Standard 1 Motivation Contenders Finalists AES Design Feistel

More information

Introduction to Cryptography. Vasil Slavov William Jewell College

Introduction to Cryptography. Vasil Slavov William Jewell College Introduction to Cryptography Vasil Slavov William Jewell College Crypto definitions Cryptography studies how to keep messages secure Cryptanalysis studies how to break ciphertext Cryptology branch of mathematics,

More information

Parallel Computing Scheme for the Encryption Process of DNSCrypt Protocol using CUDA

Parallel Computing Scheme for the Encryption Process of DNSCrypt Protocol using CUDA Parallel Computing Scheme for the Encryption Process of DNSCrypt Protocol using CUDA Fairuz Astra Pratama 1, Dr. Ir. Rinaldi Munir, MT. 2, Drs. Judhi Santoso, M.Sc. 3 School of Electrical Engineering and

More information

Hashing. Hashing Procedures

Hashing. Hashing Procedures Hashing Hashing Procedures Let us denote the set of all possible key values (i.e., the universe of keys) used in a dictionary application by U. Suppose an application requires a dictionary in which elements

More information

Kurose & Ross, Chapters (5 th ed.)

Kurose & Ross, Chapters (5 th ed.) Kurose & Ross, Chapters 8.2-8.3 (5 th ed.) Slides adapted from: J. Kurose & K. Ross \ Computer Networking: A Top Down Approach (5 th ed.) Addison-Wesley, April 2009. Copyright 1996-2010, J.F Kurose and

More information

EEC-484/584 Computer Networks

EEC-484/584 Computer Networks EEC-484/584 Computer Networks Lecture 23 wenbing@ieee.org (Lecture notes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline 2 Review of last lecture Introduction to

More information

Assignment 6: The Power of Caches

Assignment 6: The Power of Caches Assignment 6: The Power of Caches Due by: April 20, 2018 before 10:00 pm Collaboration: Individuals or Registered Pairs (see Piazza). It is mandatory for every student to register on Piazza. Grading: Packaging

More information

1.264 Lecture 28. Cryptography: Asymmetric keys

1.264 Lecture 28. Cryptography: Asymmetric keys 1.264 Lecture 28 Cryptography: Asymmetric keys Next class: Anderson chapters 20. Exercise due before class (Reading doesn t cover same topics as lecture) 1 Asymmetric or public key encryption Receiver

More information

Attribute-based encryption with encryption and decryption outsourcing

Attribute-based encryption with encryption and decryption outsourcing Edith Cowan University Research Online Australian Information Security Management Conference Conferences, Symposia and Campus Events 2014 Attribute-based encryption with encryption and decryption outsourcing

More information

Secure Multiparty Computation

Secure Multiparty Computation Secure Multiparty Computation Li Xiong CS573 Data Privacy and Security Outline Secure multiparty computation Problem and security definitions Basic cryptographic tools and general constructions Yao s Millionnare

More information

Algorithms (III) Yijia Chen Shanghai Jiaotong University

Algorithms (III) Yijia Chen Shanghai Jiaotong University Algorithms (III) Yijia Chen Shanghai Jiaotong University Review of the Previous Lecture Factoring: Given a number N, express it as a product of its prime factors. Many security protocols are based on the

More information

Computer Security: Principles and Practice

Computer Security: Principles and Practice Computer Security: Principles and Practice Chapter 2 Cryptographic Tools First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Cryptographic Tools cryptographic algorithms

More information

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. Let Ò Ô Õ. Pick ¾ ½ ³ Òµ ½ so, that ³ Òµµ ½. Let ½ ÑÓ ³ Òµµ. Public key: Ò µ. Secret key Ò µ.

More information

Behavioral Design Patterns Used in Data Structures Implementation

Behavioral Design Patterns Used in Data Structures Implementation Behavioral Design Patterns Used in Data Structures Implementation Niculescu Virginia Department of Computer Science Babeş-Bolyai University, Cluj-Napoca email address: vniculescu@cs.ubbcluj.ro November,

More information

Verifiably Encrypted Signature Scheme with Threshold Adjudication

Verifiably Encrypted Signature Scheme with Threshold Adjudication Verifiably Encrypted Signature Scheme with Threshold Adjudication M. Choudary Gorantla and Ashutosh Saxena Institute for Development and Research in Banking Technology Road No. 1, Castle Hills, Masab Tank,

More information

Algorithms (III) Yijia Chen Shanghai Jiaotong University

Algorithms (III) Yijia Chen Shanghai Jiaotong University Algorithms (III) Yijia Chen Shanghai Jiaotong University Review of the Previous Lecture Factoring: Given a number N, express it as a product of its prime factors. Many security protocols are based on the

More information

Application of Dynamic Programming to Calculate Denominations Used in Changes Effectively

Application of Dynamic Programming to Calculate Denominations Used in Changes Effectively Application of Dynamic Programming to Calculate Denominations Used in Changes Effectively Kelvin Valensius (13511009) Computer Science School of Electrical Engineering and Informatics Institut Teknologi

More information

Nigori: Storing Secrets in the Cloud. Ben Laurie

Nigori: Storing Secrets in the Cloud. Ben Laurie Nigori: Storing Secrets in the Cloud Ben Laurie (benl@google.com) April 23, 2013 1 Introduction Secure login is something we would clearly like, but achieving it practically for the majority users turns

More information

Cryptanalyzing the Polynomial Reconstruction based Public-Key System under Optimal Parameter Choice

Cryptanalyzing the Polynomial Reconstruction based Public-Key System under Optimal Parameter Choice Cryptanalyzing the Polynomial Reconstruction based Public-Key System under Optimal Parameter Choice Aggelos Kiayias - Moti Yung U. of Connecticut - Columbia U. (Public-Key) Cryptography intractability

More information

LECTURE 4: Cryptography

LECTURE 4: Cryptography CSC 519 Information Security LECTURE 4: Cryptography Dr. Esam A. Alwagait alwagait@ksu.edu.sa Recap form previous Lecture We discussed more symmetric encryption. Books? Security Engineering, Ross Anderson

More information

Chaos-based Modified EzStego Algorithm for Improving Security of Message Hiding in GIF Image

Chaos-based Modified EzStego Algorithm for Improving Security of Message Hiding in GIF Image 015 International Conference on Computer, Control, Informatics and Its Applications Chaos-based Modified EzStego Algorithm for Improving Security of Message Hiding in GIF Image Rinaldi Munir Informatics

More information

Test 2 Review. (b) Give one significant advantage of a nonce over a timestamp.

Test 2 Review. (b) Give one significant advantage of a nonce over a timestamp. Test 2 Review Name Student ID number Notation: {X} Bob Apply Bob s public key to X [Y ] Bob Apply Bob s private key to Y E(P, K) Encrypt P with symmetric key K D(C, K) Decrypt C with symmetric key K h(x)

More information

Introduction to Cryptography. Lecture 3

Introduction to Cryptography. Lecture 3 Introduction to Cryptography Lecture 3 Benny Pinkas March 6, 2011 Introduction to Cryptography, Benny Pinkas page 1 Pseudo-random generator seed s (random, s =n) Pseudo-random generator G Deterministic

More information

Cryptography Math/CprE/InfAs 533

Cryptography Math/CprE/InfAs 533 Unit 1 January 10, 2011 1 Cryptography Math/CprE/InfAs 533 Unit 1 January 10, 2011 2 Instructor: Clifford Bergman, Professor of Mathematics Office: 424 Carver Hall Voice: 515 294 8137 fax: 515 294 5454

More information

PGP: An Algorithmic Overview

PGP: An Algorithmic Overview PGP: An Algorithmic Overview David Yaw 11/6/2001 VCSG-482 Introduction The purpose of this paper is not to act as a manual for PGP, nor is it an in-depth analysis of its cryptographic algorithms. It is

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 11 October 4, 2017 CPSC 467, Lecture 11 1/39 ElGamal Cryptosystem Message Integrity and Authenticity Message authentication codes

More information

Cryptography. Cryptography is much more than. What is Cryptography, exactly? Why Cryptography? (cont d) Straight encoding and decoding

Cryptography. Cryptography is much more than. What is Cryptography, exactly? Why Cryptography? (cont d) Straight encoding and decoding Copyright 2000-2001, University of Washington Cryptography is much more than Cryptography Cryptography systems allow 2 parties to communicate securely. The intent is to give privacy, integrity and security

More information

Public-Key Cryptography. Professor Yanmin Gong Week 3: Sep. 7

Public-Key Cryptography. Professor Yanmin Gong Week 3: Sep. 7 Public-Key Cryptography Professor Yanmin Gong Week 3: Sep. 7 Outline Key exchange and Diffie-Hellman protocol Mathematical backgrounds for modular arithmetic RSA Digital Signatures Key management Problem:

More information

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. Let Ò Ô Õ. Pick ¾ ½ ³ Òµ ½ so, that ³ Òµµ ½. Let ½ ÑÓ ³ Òµµ. Public key: Ò µ. Secret key Ò µ.

More information

EEC-682/782 Computer Networks I

EEC-682/782 Computer Networks I EEC-682/782 Computer Networks I Lecture 23 Wenbing Zhao wenbingz@gmail.com http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB

More information

ASYMMETRIC CRYPTOGRAPHY

ASYMMETRIC CRYPTOGRAPHY ASYMMETRIC CRYPTOGRAPHY CONTENT: 1. Number Theory 2. One Way Function 3. Hash Function 4. Digital Signature 5. RSA (Rivest-Shamir Adleman) References: 1. Applied Cryptography, Bruce Schneier 2. Cryptography

More information

Algorithms (III) Yu Yu. Shanghai Jiaotong University

Algorithms (III) Yu Yu. Shanghai Jiaotong University Algorithms (III) Yu Yu Shanghai Jiaotong University Review of the Previous Lecture Factoring: Given a number N, express it as a product of its prime factors. Many security protocols are based on the assumed

More information

Lecture 6 - Cryptography

Lecture 6 - Cryptography Lecture 6 - Cryptography CMPSC 443 - Spring 2012 Introduction Computer and Network Security Professor Jaeger www.cse.psu.edu/~tjaeger/cse443-s12 Question Setup: Assume you and I donʼt know anything about

More information

Implementing Cryptography: Good Theory vs. Bad Practice

Implementing Cryptography: Good Theory vs. Bad Practice Implementing Cryptography: Good Theory vs. Bad Practice Viet Pham Information Security Group, Department of Mathematics Royal Holloway, University of London Outline News report What is cryptography? Why

More information

Public Key Encryption. Modified by: Dr. Ramzi Saifan

Public Key Encryption. Modified by: Dr. Ramzi Saifan Public Key Encryption Modified by: Dr. Ramzi Saifan Prime Numbers Prime numbers only have divisors of 1 and itself They cannot be written as a product of other numbers Prime numbers are central to number

More information

ח'/סיון/תשע "א. RSA: getting ready. Public Key Cryptography. Public key cryptography. Public key encryption algorithms

ח'/סיון/תשע א. RSA: getting ready. Public Key Cryptography. Public key cryptography. Public key encryption algorithms Public Key Cryptography Kurose & Ross, Chapters 8.28.3 (5 th ed.) Slides adapted from: J. Kurose & K. Ross \ Computer Networking: A Top Down Approach (5 th ed.) AddisonWesley, April 2009. Copyright 19962010,

More information

Suffix Vector: A Space-Efficient Suffix Tree Representation

Suffix Vector: A Space-Efficient Suffix Tree Representation Lecture Notes in Computer Science 1 Suffix Vector: A Space-Efficient Suffix Tree Representation Krisztián Monostori 1, Arkady Zaslavsky 1, and István Vajk 2 1 School of Computer Science and Software Engineering,

More information

GFS-python: A Simplified GFS Implementation in Python

GFS-python: A Simplified GFS Implementation in Python GFS-python: A Simplified GFS Implementation in Python Andy Strohman ABSTRACT GFS-python is distributed network filesystem written entirely in python. There are no dependencies other than Python s standard

More information

Security: Cryptography

Security: Cryptography Security: Cryptography Computer Science and Engineering College of Engineering The Ohio State University Lecture 38 Some High-Level Goals Confidentiality Non-authorized users have limited access Integrity

More information

Channel Coding and Cryptography Part II: Introduction to Cryptography

Channel Coding and Cryptography Part II: Introduction to Cryptography Channel Coding and Cryptography Part II: Introduction to Cryptography Prof. Dr.-Ing. habil. Andreas Ahrens Communications Signal Processing Group, University of Technology, Business and Design Email: andreas.ahrens@hs-wismar.de

More information

Technological foundation

Technological foundation Technological foundation Carte à puce et Java Card 2010-2011 Jean-Louis Lanet Jean-louis.lanet@unilim.fr Cryptology Authentication Secure upload Agenda Cryptology Cryptography / Cryptanalysis, Smart Cards

More information

A Chosen-key Distinguishing Attack on Phelix

A Chosen-key Distinguishing Attack on Phelix A Chosen-key Distinguishing Attack on Phelix Yaser Esmaeili Salehani* and Hadi Ahmadi** * Zaeim Electronic Industries Co., Tehran, Iran. ** School of Electronic Engineering, Sharif University of Technology,

More information

Lecture 16. Reading: Weiss Ch. 5 CSE 100, UCSD: LEC 16. Page 1 of 40

Lecture 16. Reading: Weiss Ch. 5 CSE 100, UCSD: LEC 16. Page 1 of 40 Lecture 16 Hashing Hash table and hash function design Hash functions for integers and strings Collision resolution strategies: linear probing, double hashing, random hashing, separate chaining Hash table

More information

Coding-theoretic problems in public key cryptography

Coding-theoretic problems in public key cryptography Coding-theoretic problems in public key cryptography Carl Löndahl Department of Electrical and Information Technology Lund University, Sweden SWITS 12 June 3rd, 2012 Outline 1 Error correcting codes 2

More information

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 7 January 30, 2012 CPSC 467b, Lecture 7 1/44 Public-key cryptography RSA Factoring Assumption Computing with Big Numbers Fast Exponentiation

More information

Public-key encipherment concept

Public-key encipherment concept Date: onday, October 21, 2002 Prof.: Dr Jean-Yves Chouinard Design of Secure Computer Systems CSI4138/CEG4394 Notes on Public Key Cryptography Public-key encipherment concept Each user in a secure communication

More information

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 7 February 5, 2013 CPSC 467b, Lecture 7 1/45 Stream cipher from block cipher Review of OFB and CFB chaining modes Extending chaining

More information

Test 2 Review. 1. (10 points) Timestamps and nonces are both used in security protocols to prevent replay attacks.

Test 2 Review. 1. (10 points) Timestamps and nonces are both used in security protocols to prevent replay attacks. Test 2 Review Name Student ID number Notation: {X} Bob Apply Bob s public key to X [Y ] Bob Apply Bob s private key to Y E(P, K) Encrypt P with symmetric key K D(C, K) Decrypt C with symmetric key K h(x)

More information