JavaScript 的 Anti-Debugging 技術

JavaScript 運行在客戶端,多數 Browser 亦有很強的 debugger,有時為了保護程式碼的邏輯不被破解或想要藏惡意程式之類的,會想辦法讓分析者沒辦法輕易分析原始碼。通常又可以分為阻撓靜態分析(例如 obfuscation)和動態分析(例如 anti-debugging)。這篇文章會介紹 JavaScript 的一些 anti-debugging 的方法,討論可以如何讓分析者沒辦法在 browser 上用 debugger 或甚至偵測自己是否正在被 debug,並分析他們的優劣與可能破解方法。

對 Lightweight Cryptography 的簡單 Survey

一、簡介

隨著智慧型裝置普及化,在可預見的未來,人們將部屬大量的數位裝置,其中不少裝置可能在運算、儲存、能源上有相當程度的限制,而這些裝置可能被用於健康監測、金融交易等,因此其對於通訊和儲存的安全性有所要求。然而,傳統的密碼學演算法,如 AES、RSA 等,所需要的運算效能或空間往往太大,不足以在這些裝置上執行,因此我們迫切地需要能夠在這些裝置上運作的加密系統。

Lightweight Cryptography(輕量加密,以下簡稱 LC)泛指一種運算量較傳統密碼學演算法小的密碼學演算法,旨在提供運算能力不強、對於能源效率有較高要求的裝置。LC 在過去十多年有非常巨大的發展,早期有 DESL、PRESENT 等,NSA 也於 2013 年也提出了他們的演算法,不過遭到 ISO/IEC 29192 “Lightweight Cryptography” 系列拒絕接受,NIST 則於 2015 年起開始新一代 LC 標準的徵選。

本文將簡短地介紹 LC 的設計原則與幾個經典演算法的介紹。在第二節中,我們將概述 LC 在設計時有哪些事情需要考慮,又有哪些很不同於經典演算法。之後的章節,則會探討每個密碼學領域的演算法的發展過程,並介紹幾個重要演算法。

日本動畫的演變與東亞文化的影響

日本是世界影視產業中數一數二的強國,而其動畫文化更是撐起了整個日本影視。從日本動畫開始發展至今,經歷過取多波折,數次蕭條與崛起,一方面受到各國文化影響,一方面也將日本己身文化輸出到全世界,尤其是東亞其他國家,幾乎都受到日本很大的影響。本文試圖從日本動畫發展史去討論其對東亞文化的影響,以及受東亞文化的影響。