Applied Cryptography-9

來源;chapter 4 (39 ~ 56) Rabin’s schemes 接下來談談rabin為何要選擇除四餘三的質數:這是因為開根號非常方便,假設今天p是這種除四餘三的質數,假設a為$QR_p$,則a的開根號為$\pm a^{(p+1)/4} \ \ mod \ \ p$。證明:因為a為$QR_p$,所以$a^{(p-1)/2} \ \ \equiv \ \ 1 \ \ mod \ \ p$,我們計算$\pm a^{(p+1)/

Applied Cryptography-8

來源:chapter 4 (19 ~ 38) Encryption by Encryption by Public Discussion in 1974 這種加密方法是類似於D-H公開交換金鑰方法的精神,但也因為這樣所以man-in-the-middle attack也對此加密方法有效。 一樣用Alice跟Bob做例子,假設Alice要運用此演算法加密,它先將明文算到x次方後mod p,$C_1 \ \ = \ \ m^x \ \

Linux Operating System-8

來源:Memory Addressing (22 ~ 54) Phase two Phase one只會用到實體記憶體中的24MB,phase two則是會用到所有的記憶體空間來放置kernel code。phase two有兩種不同狀況:CONFIG_HIGHMEM與CONFIG_NOHIGHMEM,CONFIG_NOHIGHMEM是指kernel能存取的實體記憶體小於1GB,而CONFIG_HIGHMEM則是kernel能夠存

Linux Operating System-7

來源:Paging in Linux(23 ~ 32, 40, 52 ~ 55),Memory Addressing (1 ~ 21) Paging in Linux 由於x86在32bit下有兩層的page table(PAE沒開情況下),而在64bit下有更多層,因此linux為了要在兩種處理器底下都能跑選擇了較高層的paging level。在2.6.10版本linux paging level有三層,從2.6.11版本之後

The Attack and Defense of Computers-7

來源:Botnet (11 ~ 66) Botnet Botnet是指一群被入侵的電腦,這些電腦可以同時被一個攻擊者下指令來操控,而這攻擊者又叫做botmaster,bot為被入侵的電腦。那botnet可以用來幹嘛呢?botnet所控制的電腦數量可大可小,大至五萬台bot都有可能,有五萬台的殭屍電腦相當於有五萬個不同的IP,這可不是開玩笑的,接下來來看運用botnet可以做什麼樣的攻擊。 Distributed Denial-of-

Applied Cryptography-7

來源:chapter 3(50 ~ 54),chapter 4(1 ~ 18) Primitive Root 上禮拜有講到generator的概念,剛好我自己補充的東西也有提到order的概念,這邊會統整一下所有的概念。 Theorem: If λ is the order of α, then λ|(p-1).proof: 這邊利用反證法,令 λ 不是p-1的因數,則 p-1 = t*λ + k,1≤ k ≤ λ −1,則: $\

The Attack and Defense of Computers-6

來源:Drive-by Download(83 ~ 106),Botnet(1 ~ 10) Heap Spray Heap spray主要概念就是在受害程式的heap段注入大量的shellcode以及nop,這項技術是由SkyLined所提出,他利用heap spray打下了IE的許多漏洞,例如MS04-040以及MS05-020。下圖為Heap spray概念圖(來源Software Vulnerability Exploitati

Linux Operating System-6

來源:Memory Addressing: Paging Unit (18 ~ 47),wiki:Paging 上禮拜講到Paging Unit是利用兩層page table來完成address轉換,這邊接著講為何需要用到兩層table。原本兩層的話是利用linear address最前面10個bit來表示page directory的entry,中間的10個bit表示page table的entry,最後12bit則是physical

Applied Cryptography-6

來源:chapter 3 (33 ~ 49) 上禮拜最後講中國餘數定理,可以將大世界的複雜計算分給很多個小世界,小世界計算完後透過中國餘數定理merge回來,接下來的二次剩餘將會運用到中國餘數定理。 Quadratic Residues Quadratic Residues探討在模數世界開根號的問題,既然是開根號就分為兩種:可以開根號跟不能開根號。 Quadratic Residue ($QR_p$)定義p為質數,若某數平方後mod

Linux Operating System-5

來源:Introduction and Memory Addressing: Segmentation Unit (80 ~ 100),Memory Addressing: Paging Unit (1 ~ 18) 由於現在的電腦都是多核心架構,一台電腦在run時不會只有一顆CPU,而接下來要講的GDT這個table每一顆CPU都會有一個GDT,因此在C語言有一種特殊的宣告方式:per-CPU,他會將你宣告的值存在陣列當中,而這個陣列的