پیاده سازی الگوریتم ضرب 8 بیتی both
"رمزنگاری لینک ا"
encryption تعریف
دانلود الگوریتمc# rsa پیاده سازی
save adder tree
الگوریتم booth در ضرب کننده ها
رمزنگاری کلید عمومی
روشهاي ضرب پيمانه اي
ieee صلواتی
در باره public key encryption algorithm
در باره public key encryption algorithm
رمزنگاری ecc based
کاربرخم دبیضوی در کارتهای هوشمند
پايان نامه براي دريافت کارشناسي ارشد «M.sc»
گرايش معماري سيستمهاي کامپيوتري
عنوان
بهبود سرعت در رمزنگاري کليد عمومي
نگارش
محمد جعفرآباد
تابستان90
لینک های دانلود پایان نامه:
دانلود پایان نامه از سایت فارسی گیگ
لینک دانلود پایان نامه ارشد رمزنگاری
1-
چكيده:
اين پايان نامه يک شيوهاي را براي بهبود عملکرد روشهاي رمزگذاريRSA ارائه ميدهد. اصول رمزنگاري را کرده و سپس آن اصول را براي بهره برداري از روشهاي کليد عمومي شامل نظريه اعداد استفاده شده در سيستم RSA، ضرب پيمانهاي و توان پيمانه اي، و تئوري اساسي سيستم RSA گسترش ميدهد.عملکرد يک سيستم رمزنگاري به شدت بر روي ميزان سرعت توان پيمانهاي در اجرا، وابسته است.نتيجتا عملکرد آن وابسته به ميزان کارائي ضرب پيمانهاي به عنوان مبناي محاسبات خواهد بود. اين مساله سال هاست که مورد توجه قرار گرفته است. نرم افزار به اندازه سخت افزار در پياده سازي کارا پيشنهاد ميشود.در اين پژوهش، روشهايي که ميتوانند براي بهبود مراحل رمزگشائي/رمزگذاري مورد استفاده قرار بگيرند، مطرح ميشوند. و روش M-ary Sliding window براي افزايش سرعت در توان پيمانهاي بکار ميرود. همچنين به بررسي شناخته شدهترين روشهاي کارآمد ضرب پيمانهاي ميپردازيم. سپس پيرامون نقاط ضعف و قوت آنها، تحقيق و بررسي ميکنيم.در ادامه به مقايسه الگوريتمهاي ضرب سريع پرداخته و ضرب Booth را با اضافه کردن درخت Wallace پياده سازي ميکنيم.سپس الگوريتم مونتگومري را توضيح ميدهيم. در پايان سيستم RSA جديدي را پياده سازي ميکنيم. نتايج نشان ميدهند که سيستم جديد براي 1024 بيت، ميتواند کارائي محاسبات را تا 14% افزايش دهد.
كلمات كليدي: سريع، ضرب پيمانه اي، رمزنگاري كليد
نصر من الله وفتح قريب وبشر المؤمنين
An improved Montgomery's algorithm for high-speed RSA public-key cryptosystem
We revise Montgomery's algorithm such that modular multiplication can be executed two times faster. Each iteration in our algorithm requires only one addition, while that in Montgomery's requires two additions. We then propose a cellular array to implement modular exponentiation for the Rivest-Shamir-Adleman cryptosystem. It has approximately 2n cells, where n is the word length. The cell contains one full-adder and some controlling logic. The time to calculate a modular exponentiation is about 2n2 clock cycles. The proposed architecture has a data rate of 100 kb/s for 512-b words and a 100 MHz clock
Fast modular multiplication using Booth recoding based on signed-digit number arithmetic
Proposes a new algorithm of serial modular multiplication based on signed-digit (SD) number system using Booth recoding method. By introducing a p-digit radix-two SD number system, a modular addition is easily implemented by using one or two SD adders, so that no carry propagation will arise during the additions. A modular multiplication can be performed by repeating the modular addition with modular partial products. In order to implement a high speed modular multiplication, a Booth recoding method is used to reduce the partial products to be added for the modular multiplication. We also give a pipeline architecture with two modular SD adders to realize a faster modular multiplication. The design result by using VHDL shows that a fast modular multiplier can be implemented based on the presented method.
N bit-wise modular multiplier architecture for public key cryptography
Along with the progress of the information society, we are relying more and more on digital information processing with security. Cryptography plays an important role in a situation where unwanted eavesdropping or falsification has to be avoided. Public key encryptions including RSA require a huge number of arithmetic operations. Major part of its operation is modular multiplication with very large bit-width. This operation takes long time, and there is an advantage in hardware implementation of it. We propose the hardware implementation of N-bit-wise multiplier. It allows the operation performed at the speed 2 times the original performance for the same circuit size, or the circuit size reduced to approximately 60% for the same processing time. Employing the architecture proposed in this paper contributes to the performance improvement of encryption system and the reduction of chip size of encryption system.
Improvement over Public Key Cryptographic Algorithm
In this paper, we have introduced RSA cryptosystem and its improvements. There are many cases when there is the need to enhance the decryption/signature generation speed at the cost of encryption/signature verification speed, e. g., in banks, signature generation can be in huge amount in a single day as compared to only one signature verification in the complete day at receiver side. So here in this paper the main stress is on the improvement of decryption/signature generation cost. Many methods are discussed to improve the same, e. g., Batch RSA, MultiPrime RSA, MultiPower RSA, Rebalanced RSA, RPrime RSA. The proposed approach to improve decryption/signature generation speed is given in the paper. We have tried the improvement by the combination of MultiPower RSA and Rebalanced RSA. Theoretically, the proposed scheme (for key length 2048 bits moduli) is about 14 times faster than that given by RSA with CRT and about 56 times faster than the standard RSA. Tabular and graphical comparison with other variants of RSA is also shown in the paper.
High-speed algorithms for public-key cryptosystems
The modular exponentiation is one of the most important operations in public-key cryptosystems. A modular exponentiation is composed of repetition of modular multiplications. Again, the modular multiplication consists of a multiprecision multiplication and a modular reduction. Therefore, we can reduce the execution time of the modular exponentiation by two methods. One is to reduce the number of modular multiplications and the other is to reduce the execution time of the modular multiplication. In this paper we investigate high-speed mathematical algorithms that focus on the multiplication, reduction and exponentiation operations to reduce the execution time of the modular exponentiation.
High Performance Implementation of a Public Key Block Cipher - MQQ, for FPGA Platforms
پیاده سازی با عملکرد بالای کلید عمومی از یک کلید عمومی بلوک Cipher بر روی نرم افزار FPGA
(Cipher یک الگوریتم رمزنگاری است)
This is the first implementation in FPGA of the recently published class of public key algorithms - MQQ, that are based on quasigroup string transformations. Our implementation achieves decryption throughput of 399 Mbps on an Xilinx Virtex-5 FPGA that is running on 249.4 MHz. The encryption throughput of our implementation achieves 44.27 Gbps on an Xilinx Virtex-5 chip that is running on 276.7 MHz. Compared to RSA implementation on the same FPGA platform this implementation of MQQ is 10,000 times faster in decryption, and is more than 17,000 times faster in encryption. The main goal of this work was to build a hardware that can perform operations with the public and the private key that have as high as possible speed. Our main comparison is with RSA with a similar cryptographic strength, because we want to emphasize that RSA being essentially sequential algorithm can not benefit from the parallel capabilities that modern FPGAs offer, while MQQ can.
A high speed data encryption processor for public key cryptography
یک پردازنده رمزکننده داده با سرعت بالا برای رمز نگاری کلید عمومی
A cost-effective public key cryptographic architecture and its implementation in 2-μm double-level-metal CMOS are presented. The latter consists of a 593-bit arithmetic processing element, an 8-bit microcontroller, and an intelligent bus interface unit. The device uses 95000 transistors, has an area of 115000 mil2 assembled in a 40-pin package, and is capable of an average throughput of 500 kb/s
Optimizing the Improved Barrett Modular Multipliers for Public-Key Cryptography
بهینه سازی ، ضرب ماژولار بهبود یافته بارت برای رمزنگاری کلید عمومی
This work is a significant stage of the project, "Digital Arithmetic Public-Key Cryptography".
It constructs a modular multiplier for use in the channel of a Residue Number System (RNS).
The modular multiplier is implemented on FPGA and optimized by evaluating different versions of the Improved Barrett Algorithm.
The resulting optimized multiplier is 12 bits wide and uses separated multiplication and reduction.
Fast execution of modular multiplication is crucial to speed-up public key cryptography applications.
اجرای سریع ضرب مادولار برای سرعت بالای رمزنگاری کلید عمومی برنامه های کاربردی بسیار مهم است.
This paper presents a modular multiplication method that exploits high-speed multiply-accumulate instructions supported in modern general-purpose architectures.
در این مقاله یک روش ضرب مدولار که در دستورات ضرب - جمع سرعت بالا بکار می رود، در معماری همه منظوره مدرن پشتیبانی می شود.
The algorithm is implemented as a C program and tested on large operands by using GNU Multiple Precision Library (GMP).
این الگوریتم در یک برنامه تحت C اجرا می شود و روی عملوند های بزرگی با استفاده از GNU چندین کتابخانه دقیق (GMP) تست می شود.
The performance of the method is compared with the performance of the 's Algorithm.
کارائی این روش با کارائی الگوریتم Montgomery قابل مقایسه است.
The comparision results show that the proposed method runs upto 5 times faster than Montgomery's Algorithm.
نتایج مقایسه نشان می دهد که اهداف روش تا حد 5 برابر سریعتر از الگوریتم Montgomery اجرا می شود
همه سیستم های رمزنگاری کلید عمومی، هرچند که بسیار امن بودند ولی یک نقطه ضعف مشترک دارند.
They require heavy computational effort. This is due to the reliance on modular multiplication of large operands (1024 bits or higher).
آنها نیاز به تلاش های زیاد محاسباتی دارند. این به خاطر تکیه بر ضرب مدولار از عملوندهای بزرگ است (1024 بیت یا بالاتر) .
The same problem arises in data encryption/decryption and digital signature schemes.
مشکل مشابه ناشی از رمزگذاری داده ها / رمزگشایی و طرح امضای دیجیتالی است.
Examples of such cryptosystems are RSA, DSA, and ECC.
نمونه هائی ازچنین سیستم های رمزی ای، RSA, DSA, ECC هستند.
Now considering embedded platforms for applications of smart cards and smart tokens, the overall time performance of the cipher system becomes very slow.
اکنون با توجه به سیستم عامل تعبیه شده برای برنامه های کاربردی از کارتهای هوشمند و توکن های هوشمند ، زمان عملکرد کلی سیستم رمزنگاری بسیار آهسته می شود.
This refers to the limited computational power of the embedded processors.
این به قدرت محاسباتی محدود از پردازنده های تعبیه شده اشاره می کند.
This paper introduces an enhanced architecture for computing the modular multiplication of large operands.
این مقاله به معرفی یک معماری پیشرفته برای محاسبات ضرب مدولار عملوندهای بزرگ می پردازد.
The proposed design can act as a co-processor for embedded general purpose CPUs.
طرح پیشنهادی می تواند به عنوان یک co-processor تعبیه شده برای پردازنده های همه منظوره عمل می کند.
A coprocessor is a computer processor used to supplement the functions of the primary processor
coprocessor پردازنده کامپیوتر که استفاده می شود برای تکمیل عملکرد پردازنده اولیه
The proposed design is compared with three previous architectures depending on carry save adders and look up tables, and scoring 69 MHz of maximum frequency.
طرح پیشنهادی با سه معماری قبلی قابل مقایسه است. وابسته است بر روی carry save adders و جداول look up و امتیاز 69 MHz از حداکثر فرکانس.
Look up tables should be loaded with a set of pre-computed values.
جداول Look up باید با مجموعه ای از مقادیر پیش محاسبه شده پر شوند.
Our proposed architecture replaces both look up tables and pre-computations with an enhanced version of sign detection techniques.
معماری پیشنهادی ما با یک نسخه بهبود یافته از روش های تشخیص امضا ، جایگزین هر دو روش جداول look up و پیش محاسبات می شود .
Considering 1024 bits architectures, the proposed design scored a maximum frequency of 181 MHz.
با توجه به معماری 1024 بیت، طرح پیشنهادی امتیاز حداکثر فرکانس 181 MHz دارد.
It also has a better overall absolute time for a single operation.
این همچنین دارای یک زمان مطلق کلی بهتر برای بک تک عمل است.
Fast multiplication techniques for public key cryptography
We describe two novel techniques for multiplying polynomials which help with accelerating popular public key cryptographic algorithms like RSA and key exchange techniques like Elliptic Curve Diffie Hellman.
ما دو تکنیک را برای ضرب چندجمله ای شرح می دهیم که به افزایش محبوبیت رمزنگاری کلید عمومی کمک می کند. شبیه RSA و تکنیک های کلید تبادلی شبیه خم بیضوی ، دیفی هلمن
The first technique is based on an algorithm for generating one-iteration Karatsuba-like formulae using graphs.
روش اول مبتنی است بر روی یک الگوریتم برای تولید one-iteration شبیه Karatsuba فرمول کاربردی گراف
The novelty of our approach lies on the correlation between graph properties (i.e. vertices, edges and sub-graphs) and the Karatsuba-like terms of big number multiplication routines.
تازگی رویکرد ما نهفته است در ارتباط بین خصوصیات گراف.(به عنوان مثال راس ، یال و زیر نمودار)
و شرایط شبیه Karatsuba از تعداد زیادی روال ضرب .
The second technique is an improvement over the one-iteration extension to Karatsuba proposed by Weimerskirch and Paar (2003) that yields better performance when the input polynomials have odd number of coefficients.
تکنیک دوم بهبود روی توسعه one-iteration به Karatsuba است. که توسط Weimerskirch و Paar پیشنهاد شده است. (2003) که هنگامی که چند جمله ایهای ورودی ، ضرایبی از اعداد فرد هستند، بازده عملکرد بهتری دارد.
We present experimental data that show that our techniques boost the performance of public key and key exchange algorithms substantially.
ما داده های تجربی ای را ارائه می دهیم که نشان می دهد تکنیک های ما بر بالابردن کارائی کلید عمومی و الگوریتم های تبادل کلید قابل ملاحضه هستند.
Faster Interleaved Modular Multiplication Based on Barrett and Montgomery Reduction Methods
ضرب ماژولار همروند سریع مبتنی بر روش های کاهش بارت و مونتگومری
This paper proposes two improved interleaved modular multiplication algorithms based on Barrett and Montgomery modular reduction.
در این مقاله بهبود غیر پیوسته الگوریتم های ماژولار ضرب مبتنی بر کاهش ماژولار Barrett و Montgomery ارائه می شود.
The algorithms are simple and especially suitable for hardware implementations.
الگوریتم ها ساده هستند و به ویژه مناسب برای پیاده سازی سخت افزار هستند.
Four large sets of moduli for which the proposed methods apply are given and analyzed from a security point of view.
چهار مجموعه بزرگ از قدر مطلق که در روش پیشنهادی استفاده شده ، از نقطه نظر امنیتی آنالیز می شود.
By considering state-of-the-art attacks on public-key cryptosystems, we show that the proposed sets are safe to use, in practice, for both elliptic curve cryptography and RSA cryptosystems.
با در نظر گرفتن حمله state-of-the-art روی سیستم رمزی کلید عمومی ، ما نشان می دهیم که مجموعه های پیشنهاد شده ، در عمل هر دو روش رمزنگاری خم بیضوی و سیستم رمز RSA برای استفاده امن هستند.
We propose a hardware architecture for the modular multiplier that is based on our methods.
ما یک معماری سخت افزار را برای ضرب ماژولار پیشنهاد می کنیم که بر روش های ما مبتنی است.
The results show that concerning the speed, our proposed architecture outperforms the modular multiplier based on standard modular multiplication by more than 50 percent.
to perform better than (someone or something)
نتیجه نشان می دهد که در مورد سرعت، معماری پیشنهادی نسبت به ضرب کننده ماژولار مبتنی بر استانداردهای ضرب کننده ماژولار، 50 درصد بهتر انجام می شوند.
Additionally, our design consumes less area compared to the standard solutions.
علاوه بر این، طراحی ما فضای کمتری نسبت به راه حل های استاندارد می گیرد.
Faster Interleaved Modular Multiplication Based on Barrett and Montgomery Reduction Methods
Fast multiplication techniques for public key cryptography
A Fast Modular Multiplication Method
Optimizing the Improved Barrett Modular Multipliers for Public-Key Cryptography
A high speed data encryption processor for public key cryptography
High Performance Implementation of a Public Key Block Cipher - MQQ, for FPGA Platforms
High-speed algorithms for public-key cryptosystems
Improvement over Public Key Cryptographic Algorithm
History
The first asymmetric key algorithm was invented, secretly, by Clifford Cocks
اولین الگوریتم کلید نامتقارن، به صورت مخفیانه توسط کلیفورد ککز ساخته شد.
(then a recent mathematics graduate and a new staff member at GCHQ in the UK)
(اندکی بعد از فارغ التحصیلی در رشته ریاضایت و عضو شدن در هیئت علمی ستاد ارتباطات دولت انگلیس)
early in the 1970s, and reinvented by Rivest, Shamir and Adleman all then at MIT.
در اوایل سال 1970 همه آنها مجددا توسط ریوست، شمیر و ادلمن اختراع شد.
Their work was published in 1976, and the algorithm was named RSA after the initials of their last names.
کار آنها در سال 1976 منتشر شد. و نام الگوریتم RSA از اولین حروف نام آنها برداشته شد.
Since then, several other asymmetric key algorithms have been developed, but the most widely known remains Cocks/RSA.
بعد از آن چندین الگوریتم کلید نامتقارن ایجاد شد، اما شناخته شده ترین و گسترده ترین الگوریتمی که باقی مانده Cocks/RSA. هست.
It uses exponentiation modulo a product of two large primes to encrypt and decrypt.
آن از به توان رساندن پیمانه حاصل ضرب دو عدد اول بزرگ برای رمزگذاری و رمزگشائی استفاده می کند.
The public key exponent differs from the private key exponent, and determining one from the other is believed to be fundamentally hard without knowing the primes;
توان کلید عمومی متفاوت تر از توان کلید خصوصی است. و ساختن یکی از دیگری بدون دانستن دانش اعداد اول به عقیده ما اساسا سخت است.
these are in turn (if large enough) computationally infeasible to determine at the current state of the computer hardware and large integer factorization arts.
اینها به نوبه خود (اگر به اندازه کافی بزرگ باشند)،محاسباتی نشدنی برای تعیین (یکی از دیگری) هستند. با وضعیت فعلی سخت افزار کامپیوتر و عامل استعداد(فنی- فاکتورگیری) اعداد صحیح بزرگ
Another algorithm is ElGamal (invented by Taher ElGamal then of Netscape) which relies on the (similar, and related) difficulty of the discrete logarithm problem.
الگوریتم دیگر الجمال است (توسط طاهر الجمال بعد از نت اسکیپ کشف شد.)که متکی است بر (مشابه و مرتبط) مشکلات مساله لگاریتم گسسته
A third is a group of algorithms based on elliptic curves, first discovered by Neal Koblitz in the mid '80s.
گروه سوم از الگوریتم ها بر پایه منحنی های بیضوی ، برای اولین بار در اواسط دهه 80 توسط نیل کوبلیتز ابداع شد.
The NSA — the US signals security agency — has also claimed to have invented public-key cryptography, in the 1960s; however, there is currently (as of 2004) little supporting evidence for their claims [1] (http://www.research.att.com/~smb/nsam-160/).
NSA خبرگزاری سیگنال های امنیتی ایالت متحده – همچنین ادعا کرد که رمزنگاری کلید عمومی در دهه 1960 ابداع شده است. هر چند در حال حاظر (تا 2004) شواهد کمی برای حمایت از شواهد خود دارد.
Regarding security, there is nothing special about asymmetric key algorithms.
با توجه به امنیت، هیچ چیز ویژه ای درباره الگوریتم های کلید نامتقارن وجود ندارد.
There are good ones, bad ones, insecure ones, etc;
آنهائی که خوبند، آنهائی که بند، آنهائی که نا امن هستند و...
none have been proved secure in the absolute sense the one-time pad has, and some are known to be quite insecure.
(در طرح های متقارن)هیچیک در امنیت مطلق احساس نمی شوند،(به اندازه) روش OTP و بعضی از آنها کاملا نا امن هستند.
As with all cryptographic algorithms, these algorithms must be chosen and used with care.
همانند همه الگوریتم های رمزنگاری، این الگوریتم ها باید با دقت انتخاب و استفاده شوند.
![]()
This article is about the crytography scheme. For other uses of the term PKC, see PKC (disambiguation).
Public-key cryptography is a form of modern cryptography which allows users to communicate securely without previously agreeing on a shared secret key.
«رمز نگاری کلید عمومی»[1] حالتی از رمزنگاری مدرن است که امکان برقراری ارتباطات امن بین کاربران را بدون توافق قبلی بر روی یک کلید راز مشترک[2] ، فراهم می سازد.
For most of the history of cryptography, a key had to be kept absolutely secret and would be agreed upon beforehand using a secure, but non-cryptographic, method; for example, a face-to-face meeting or a trusted courier.
در بیشتر تاریخ رمزنگاری، باید از قبل بر روی یک کلید توافق می کردند.و آن کلید را به صورت کاملا امن نگاه می داشتند. اما در روش های غیر رمزنگاری ، برای مثال ملاقات چهره به چهره و یا یک پیک مورد اعتماد
There are a number of significant practical difficulties in this approach to distributing keys.
برای توزیع کلیدها در این روش ، تعداد زیادی از مشکلات قابل توجه وجود دارند.
Public-key cryptography was invented to address these drawbacks
رمزنگاری کلید عمومی، برای درست کردن این اشکالات بوجود آمد.
— with public-key cryptography, users can communicate securely over an insecure channel without having to agree upon a key beforehand.
در رمزنگاری کلید عمومی ، کاربران می توانند بدون توافق قبلی بر روی یک کلید، در یک کانال ناامن یک ارتباط امن برقرار کنند.
Public-key algorithms typically use a pair of two related keys
الگوریتم های کلید عمومی به طور معمول از یک جفت کلید مرتبط استفاده می کنند.
— one key is private and must be kept secret, while the other is made public and can be widely distributed;
یکی از کلید ها خصوصی است و باید مخفی نگاه داشته شود ، در حالیکه کلید دیگر ذاتا عمومی است و می تواند به طور گسترده ای توزیع شود.
it should not be possible to deduce one key of a pair given the other.
نباید این امکان وجود داشته باشد که از یکی از کلید ها بتوان کلید دیگر را نتیجه گرفت.
The terminology of "public-key cryptography" derives from the idea of making part of the key public information.
اصطلاح «رمز نگاری کلید عمومی» ناشی از این ایده لست که بخشی از اطلاعات کلید، در اختیار عموم قرار می گیرد.
The term asymmetric-key cryptography is also used because not all parties hold the same information.
مدت رمزنگاری کلید نامتقارن نیز کاربرد دارد، زیرا تمام بخش ها اطلاعات مشابهی را نگاه می دارند/.
Some public-key algorithms operate a little differently,
برخی از الگوریتم های کلید عمومی کمی متفاوت تر عمل می کنند.
and use other methods to enable parties to agree on secret keys without having previously exchanged key material.
و از روش های دیگری برای فعال سازی بخش ها برای موافقت بر روی کلیدهای راز بدون داشتن سابقه تبادل کلیدهای اصولی استفاده می کنند،
Public-key cryptography has two main applications.
رمزنگاری کلید عمومی، دارای دو برنامه اصلی است.
First, is encryption — keeping the contents of messages secret.
اول رمزگذاری – مخفی نگاه داشتن محتوی پیام
Second, digital signatures can be implemented using public key techniques.
دوم ، پیاده سازی امضا های دیجیتال با استفاده از کلید عمومی
Typically, public-key techniques are much more computationally intensive than symmetric algorithms.
به طور معمول ، تکنیک های کلید عمومی نسبت به الگوریتم های متقارن بسیار محاسباتی تر هستند.