1 高等演算法 -Introduction 1. Analysis 2. Basic arithmetic 3. Modular arithmetic 4. GCD 5. Primality testing 6. Cryptography.

Slides:



Advertisements
Similar presentations
18. 等差數列及等比數列 更多有關等差數列及等比數列的性質: 若T(1),T(2),T(3),…為一等差數列,則
Advertisements

1 Finding a shortest vector in a two-dimensional lattice modulo m Theoretical Computer Science, Vol 172, 1997 Gunter Rote 田錦燕95/06/01.
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
第七章 抽樣與抽樣分配 蒐集統計資料最常見的方式是抽查。這 牽涉到兩個問題: 抽出的樣本是否具有代表性?是否能反應出母體的特徵?
: A-Sequence 星級 : ★★☆☆☆ 題組: Online-judge.uva.es PROBLEM SET Volume CIX 題號: Problem D : A-Sequence 解題者:薛祖淵 解題日期: 2006 年 2 月 21 日 題意:一開始先輸入一個.
密碼學與網路安全 第4章 有限體.
HSR 課程介紹. 指定用書 Health Services Research Method Leiyu Shi 2008.
矩陣乘法 實作矩陣乘法 利用 threads 來加速運算速度 – Matrix1 row x Matrix2 column = Ans (x,y) Matrix 1Matrix 2Answer.
指導教授:陳淑媛 學生:李宗叡 李卿輔.  利用下列三種方法 (Edge Detection 、 Local Binary Pattern 、 Structured Local Edge Pattern) 來判斷是否為場景變換,以方便使用者來 找出所要的片段。
1.1 線性方程式系統簡介 1.2 高斯消去法與高斯-喬登消去法 1.3 線性方程式系統的應用(-Skip-)
亂數產生器安全性評估 之統計測試 SEC HW7 姓名:翁玉芬 學號:
Review of Chapter 3 - 已學過的 rules( 回顧 )- 朝陽科技大學 資訊管理系 李麗華 教授.
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
貨幣創造與控制 CHAPTER 27 學習本章後,您將能: C H A P T E R C H E C K L I S T 解釋銀行如何藉由放款而創造貨幣 1 解釋中央銀行如何影響貨幣數量 2.
Chapter 2 聯立線性方程式與矩陣 緒言 線性方程式組 (systems of linear equations) 出現 在多數線性模式 (linear model) 中。根據以往解 題的經驗,讀者們也許已發現方程式的解僅與 該方程式的係數有關,求解的過程也僅與係數 的運算有關,只要係數間的相關位置不改變,
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology 模糊控制設計使用 MATLAB 李達生.
Monte Carlo Simulation Part.2 Metropolis Algorithm Dept. Phys. Tunghai Univ. Numerical Methods C. T. Shih.
1 第四章 多變數函數的微分學 § 4.1 偏導數定義 定義 極限值 ■. 2 定理 極限值的基本定理 (1) 極限值的唯一性 : 若 存在,則 其值必為唯一。 (2) 若 且 ( 與 為常數 ) , 則 且 為常數且.
: Make a Crystal ★★★★★ 題組: Problem Set Archive with Online Judge 題號: 11094: Make a Crystal 解題者:呂彥澂 解題日期: 2007 年 4 月 17 日 題意:在 N*N*N 的空間中 (N 為偶數.
:Problem D: Bit-wise Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10232: Problem D: Bit-wise Sequence 解題者:李濟宇 解題日期: 2006 年 4 月 16.
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
3.1 矩陣的行列式 3.2 使用基本運算求行列式 3.3 行列式的性質 3.4 特徵值介紹 3.5 行列式的應用
選舉制度、政府結構與政 黨體系 Cox (1997) Electoral institutions, cleavage strucuters, and the number of parties.
Fourier Series. Jean Baptiste Joseph Fourier (French)(1763~1830)
: Count DePrimes ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11408: Count DePrimes 解題者:李育賢 解題日期: 2008 年 9 月 2 日 題意: 題目會給你二個數字 a,b( 2 ≦ a ≦ 5,000,000,a.
結構學(一) 第七次作業 97/05/15.
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
公司加入市場的決定. 定義  平均成本 = 總成本 ÷ 生產數量 = 每一單位產量所耗的成本  平均固定成本 = 總固定成本 ÷ 生產數量  平均變動成本 = 總變動成本 ÷ 生產數量.
Analysis of Variance (ANOVA) CH 13 變異數分析. What is ANOVA? n 檢定 3 個或 3 個以上的母體平均數是否相等的統計檢定 n 檢定多個母體平均數是否相同 n 比較大二、大三、大四學生實習滿意度是否一樣 ? ( 來 自相同的 population)
The application of boundary element evaluation on a silencer in the presence of a linear temperature gradient Boundary Element Method 期末報告 指導老師:陳正宗終身特聘教授.
1 Finite Continued Fractions 田錦燕 94/11/03 95/8/9( 最後更新 )
公用品.  該物品的數量不會因一人的消費而受到 影響,它可以同時地被多人享用。 角色分配  兩位同學當我的助手,負責:  其餘各人是投資者,每人擁有 $100 , 可以投資在兩種資產上。  記錄  計算  協助同學討論.
: Problem G e-Coins ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10306: Problem G e-Coins 解題者:陳瀅文 解題日期: 2006 年 5 月 2 日 題意:給定一個正整數 S (0
: A-Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10930: A-Sequence 解題者:陳盈村 解題日期: 2008 年 5 月 30 日 題意: A-Sequence 需符合以下的條件, 1 ≤ a.
: THE SAMS' CONTEST ☆☆★★★ 題組: Problem Set Archive with Online Judge 題號: 10520: THE SAMS' CONTEST 解題者:陳相廷,林祺光 解題日期: 2006 年 5 月 22 日 題意:依以下式子,給定 n.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
: GCD - Extreme II ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11426: GCD - Extreme II 解題者:蔡宗翰 解題日期: 2008 年 9 月 19 日 題意: 最多 20,000 組測資,題目會給一個數字.
JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case.
1 Provably secure randomized blind signature scheme based on bilinear pairing Source: Computers and Mathematics with Applications Author: Chun-I Fan, Wei-Zhe.
資料結構實習-二.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
: Automatic correction of misspellings ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11048: Automatic correction of misspellings 解題者:陳宜佐 解題日期:
Chapter 3 Entropy : An Additional Balance Equation
-Antidifferentiation- Chapter 6 朝陽科技大學 資訊管理系 李麗華 教授.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Chapter 2. Recurrence Relations (遞迴關係)
Chapter 10 m-way 搜尋樹與B-Tree
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
The Advantages Of Elliptic Curve Cryptography For Wireless Security Computer and Information Security 資工四 謝易霖.
質數 (Prime) 相關問題 (III) — 如何找出相對大的質數 Date: May 27, 2009 Introducer: Hsing-Yen Ann.
第4章 有限體.
: Expressions ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10157: Expressions 解題者:張庭愿 解題日期: 2009 年 8 月 16 日 題意:所有的括號必須成對,且必須先出現過左 括號後才能出現右括號,如果有.
: Help My Brother ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11033: Help My Brother 解題者: 呂明璁 解題日期: 2007 年 5 月 14 日.
2005/7 Linear system-1 The Linear Equation System and Eliminations.
INTRODUCTION TO MATLAB SHAWNNTOU. What Is MATLAB? MATLAB® is a high-performance language for technical computing. MATLAB® is a high-performance language.
: Problem E Antimatter Ray Clearcutting ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11008: Problem E Antimatter Ray Clearcutting 解題者:林王智瑞.
連續隨機變數 連續變數:時間、分數、重量、……
Factoring Algorithms Ref: D. Stinson, Cryptography - Theory and Practice, 2001.
:Stupid Sequence ★★★☆☆ 題組: Contest Archive with Online Judge 題號: 11319: Stupid Sequence 解題者:李育賢 解題日期: 2008 年 11 月 23 日 題意: 一個公式 f(x)=a 0 +a 1 x+a.
11 Ch05 遞迴 淡江大學 周清江 1. 2  遞迴函數乃是一個自己反覆呼叫自己的函數  一個典型的遞迴演算法 n! = n * (n-1)! = n * (n-1) * (n-2)! = n * (n-1) * (n-2) * (n-3)! = … = n * (n-1) * (n-2)
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
:Problem E.Stone Game ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10165: Problem E.Stone Game 解題者:李濟宇 解題日期: 2006 年 3 月 26 日 題意: Jack 與 Jim.
1 Knapsack Cryptosystems 2 ◎ Merkle-Hellman Knapsack Cryptosystem 觀察: (1) 0/1 knapsack problem (i.e. sum of subset) 例:已知 C = 14, A = (1, 10, 5, 22, 3)
幼兒行為觀察與記錄 第八章 事件取樣法.
: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
質數 (Prime) 相關問題 Introducer: Hsing-Yen Ann Date: 2009/05/13.
2.5 The proofs of theorems 證明方法 p → q 與 p  q 之應用 Definition 2.8 Let n be an integer. We call n even if n is divisible by 2 - that is, if there exists.
Discrete Mathematics Section 3.7 Applications of Number Theory 大葉大學 資訊工程系 黃鈴玲.
Presentation transcript:

1 高等演算法 -Introduction 1. Analysis 2. Basic arithmetic 3. Modular arithmetic 4. GCD 5. Primality testing 6. Cryptography

2 Algorithm Algorithm : a specified set of simple instructions to be followed to solve a problem. require how much in the way of resoureces : time or space. 以決定該 algorithm 是否 useful. 1. Analysis

3 Analysis Note that 1. Input size 2. the number of basic computer steps 1. Analysis

4 Fibonacci Fibonacci number: 0, 1, 1, 2, 3, 5, 8 Rule: 1. Analysis

5 Fibonacci Exponential function fib1(n) if n=0: return 0 if n=1: return 1 return fib1(n-1) + fib1(n-2) polynomial function fib2(n) if n=0: return 0 create an array f[0…n] f[0]=0, f[1]=1 for i=2…n: f[i]=f[i-1]+f[i-2] return f[n] T(n)=T(n-1)+T(n-2)+3 T(n) ≧ F n T(n) = n-1 1. Analysis

6 Fibonacci polynomial T(n) = O(logn) 1. Analysis 兩個 2  2matrix 相乘 4 加法 8 乘法

7 Fibonacci 1. Analysis T(n) = O(logn)

8 Fibonacci 1. Analysis 公式解

9 Big-O Def : T(N)=O(f(N)) if there are positive constant c and n 0 such that T(N) cf(N) when N n 0 例: T(N)=1000N, f(N)=N 2 n 0 =10 c= N cN 2 ∴ 1000N=O(N 2 ) 1. Analysis

10 Def : Big-O 1. Analysis

11 Big-O 不可寫 1. Analysis

12 如何判斷 function 成長速度 1. 基本 function : 2. 例如: error 1. Analysis

13 NlogN N logN 1. Analysis

14 如何判斷 function 成長速度 3. 利用 limit 比較 f(N) 與 g(N) 計算 例如:比較 NlogN 與 N Analysis

15 2. Basic arithmetic Addition: Input:x and y are each n bits long; bit complexity: O(n)

16 2. Basic arithmetic Multiplication : bit complexity: O(n 2 ) 13 × 11; x = 1101 and y = If x and y are both n bits, then there are n intermediate rows, with lengths of up to 2n bits.

17 2. Basic arithmetic Multiplication : Khwarizmi’s method13 × 11 bit complexity: O(n 2 ) 偶數 ( 高度 n)

18 2. Basic arithmetic Multiplication : Karatsuba’s method bit complexity: O(n ) Schonhage-Strassen’s method (based on FFT) bit complexity: O(nlognloglogn) A = 2 n/2 A 1 + A 0 B = 2 n/2 B 1 + B 0 A*B = 2 n A 1 B n/2 (A 0 B 1 + A 1 B 0 )+ A 0 B 0 = (2 n + 2 n/2 ) A 1 B n/2 (A 1 - A 0 )(B 0 - B 1 )+ (2 n +1)A 0 B 0  T(n)  3T(n/2) + c*n  T(n)  3c’n log 2 3

19 2. Basic arithmetic Division: x = yq + r and r < y.  Division of a 2n-bit integer by an n-bit integer can be performed using O(n 2 ) bit operations  There is an algorithm to find the quotient q = [x/y], when the 2n-bit integer x is divided by the integer y having no more than n bits, using O(M(n)), where M(n) is the number of bit operations needed to multiply two n-bit integers. bit complexity: O(nlognloglogn)

20 3. Modular arithmetic x ≡ y (mod N) ⇐⇒ N divides (x − y).

21 3. Modular arithmetic

22 Modular addition Since x and y are each in the range 0 to N − 1, their sum is between 0 and 2(N − 1). If the sum exceeds N − 1, we merely need to subtract off N to bring it back into the required range. The overall computation therefore consists of an addition, and possibly a subtraction, of numbers that never exceed 2N. Its running time is linear in the sizes of these numbers, in other words O(n), where n = log N is the size of N; x+y mod N 3. Modular arithmetic

23 Modular multiplication The product can be as large as (N − 1) 2, but this is still at most 2n bits long since log(N − 1) 2 = 2 log(N − 1) ≤ 2n. To reduce the answer modulo N, we compute the remainder upon dividing it by N, using our quadratic-time division algorithm. Multiplication thus remains a quadratic operation. O(n 2 ) x. y mod N 3. Modular arithmetic

24 Modular exponentiation x y mod N O(y) modular multiplications is clearly exponential in the size of y O(logy) modular multiplications;bit complexity: O(n 3 ) 3. Modular arithmetic

25 Modular exponentiation 3. Modular arithmetic Square and multiply mod 55 = = ((((((((37 1 ) 2 )37 0 ) 2 )37 1 ) 2 )37 1 ) 2 )37 1 ) mod 55 (..((37 1 ) 2 mod 55 )37 0 ) 2 mod 55 )37 1 mod 55 ) 2 mod 55 )37 1 mod 55 ) 2 mod 55 )37 1 ) mod 55 =53

26 5. Primality testing But, 341 = 11 · 31 is not prime, and yet ≡ 1 mod 341 (a=2)

27 5. Primality testing Carmichael Numbers

28 5. Primality testing Lemma: If a N−1 ≡ 1 mod N for some a relatively prime to N, then it must hold for at least half the choices of a < N. If N is prime, then a N−1 ≡ 1 mod N for all a < N. If N is not prime, then a N−1 ≡ 1 mod N for at most half the values of a < N.

29 5. Primality testing Pr(Algorithm 1.8 returns yes when N is not prime) ≤1/2 k

30 5. Primality testing Given a number N, prove that N is a prime. Sieve of Eratosthenes Miller 1975 (using Riemann hypothesis) Adleman, Pomerance and Rumely 1983 Agrawal, Kayal and Saxena 2002 Lenstra and Pomerance 2003

31 6. Cryptography 1. 張三選 2 個大質數 p 和 q ( 至少 100 位數 ) ,令 N = p q 2. 再計算 Ø(N)=(p-1)(q-1) ,並選 1 個與 Ø(N) 互質數 e Ø(N) 為 Euler‘s Totient 函數,其意為與 N 互質之個數 3. (e,N) 即為張三的公開金鑰 加密法為 C = M e mod N 4. 張三選 1 個數 d ,滿足 e d mod Ø(N) = 1 5. d 即為張三的解密金鑰 ( 亦稱私有金鑰或祕密金鑰 ) 解密法為 M = C d mod N  RSA 之安全性取決於質因數分解之困難度  要將很大的 N 因數分解成 P 跟 Q 之相乘,是很困難的 RSA

32 6. Cryptography 1. 張三選 p=5 , q=11 ; 此時 N = p q = 5 x 11 = 張三選出 1 個與 ( p-1 ) x ( q-1 ) = ( 5-1 )( 11-1 ) = 4 x 10 = 40 互質數 e=7 3.( e, N) = (7,55) 即為張三的公開金鑰 4. 張三選 1 個數 d=7 當作解密金鑰, 滿足 e d  1 mod 40 ( 7 x 23  1 mod 40 ) 令明文 M = 53 加密 : C = M e mod N = 53 7 mod 55 = 37 解密 : M = C d mod N = mod 55 = 53