TW201541359A - 資訊隱藏與發掘方法 - Google Patents
資訊隱藏與發掘方法 Download PDFInfo
- Publication number
- TW201541359A TW201541359A TW103115346A TW103115346A TW201541359A TW 201541359 A TW201541359 A TW 201541359A TW 103115346 A TW103115346 A TW 103115346A TW 103115346 A TW103115346 A TW 103115346A TW 201541359 A TW201541359 A TW 201541359A
- Authority
- TW
- Taiwan
- Prior art keywords
- information
- hidden
- writable
- blocks
- barcode
- Prior art date
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本發明揭露一種資訊隱藏方法,用以將至少一待隱藏資訊寫入包含多個模組位置的條碼。每一模組位置上記錄有至少一位元。所述隱藏方法包含自模組位置選擇一或多個可寫位置,以及選擇性地修改可寫位置上的位元。本發明亦揭露一種資訊發掘方法,其包含取得上述修改過的條碼,自模組位置選擇一或多個當讀位置,以及依據當讀位置上的位元,自條碼讀取已隱藏資訊。
Description
本發明係關於隱寫術(steganography),特別係關於將資訊以翻轉位元的方式隱藏於條碼中。
關於條碼的隱寫術一般而言有下述數種:其一、將待隱藏資訊編為條碼,並將條碼作為浮水印嵌入另一影像;其二、把條碼當作一般影像,以浮水印方式嵌入待隱藏資訊;其三、依據待隱藏資訊,改變條碼內部單元的間距、寬高或解析度等。這些做法或只是習知浮水印技術的翻版,或需要較高度處理的運算,或在單一條碼中只能隱藏極少的資訊,並沒有實現條碼科技的潛力。
有鑒於此,本發明揭露一種資訊隱藏方法,其步驟包含:取得包含多個模組(module)位置的條碼,每一模組位置上記錄有至少一位元(binary digit或bit);自模組位置選擇一或多個可寫位置;以及選擇性地修改可寫位置上所記錄的位元,以將至少一待隱藏資訊寫入條碼。
對應上述資訊隱藏方法,本發明亦揭露一種資訊發
掘方法,其步驟包含:取得包含多個模組位置並寫入有至少一已隱藏資訊的條碼,每一模組位置上記錄有至少一位元;自模組位置選擇一或多個當讀位置;以及依據當讀位置上的位元,自條碼讀取已隱藏資訊。
以上關於本發明內容及以下關於實施方式之說明係用以示範與闡明本發明之精神與原理,並提供對本發明之申請專利範圍更進一步之解釋。
第1圖係依據本發明一實施例資訊隱藏方法的流程圖。
第2圖係依據本發明一實施例資訊發掘方法的流程圖。
以下在實施方式中敘述本發明之詳細特徵,其內容足以使任何熟習相關技藝者瞭解本發明之技術內容並據以實施,且依據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。以下實施例係進一步說明本發明之諸面向,但非以任何面向限制本發明之範疇。
請參見第1圖。第1圖描繪一實施例中本發明的資訊隱藏方法,其用以將至少一待隱藏資訊寫入條碼。如第1圖所示,於步驟S11中,取得包含多個模組位置的一張一或多維條碼。以二維條碼為例,所取得的條碼可符合快速響應碼(Quick
Response code)、資料矩陣(Data Matrix)或可攜資料檔417(Portable Data File 417,簡稱PDF417)等規範。所謂模組位置指的是條碼中可填入任意條碼資料或錯誤更正碼(error correction code)的空間,可為方形、條狀或圓形等。在取得條碼時,這些模組位置上已一一記錄了位元。以黑白條碼為例,依所填入位元的不同,模組位置可處於被填滿(黑)或空白的狀態。
隱寫術的目的在於隱瞞某資訊存在的事實,而非該資訊被緝獲後能否被立即解讀,因此實務上隱寫術常配搭加密,使被隱藏的資訊更為安全。於選擇性的步驟S13中,先將待隱藏的資訊加密,則於步驟S17(後述)寫入條碼的實為加密過的待隱藏資訊。步驟S13在流程中可置於步驟S17前的任何位置,如第1圖所示、步驟S11之前、步驟S15之後或與步驟S15平行。一般而言步驟S13會應用一或多把對稱或非對稱式加密的密鑰(key)。請注意這或這些密鑰可以於步驟S15中回收使用,也可以和步驟S15中所用的密鑰不同。
於步驟S15中,依據至少一把對稱或非對稱式的密鑰,選擇一或多個前述模組位置作為可寫位置。在一實施例中,這是指將密鑰輸入某假性亂數產生器(pseudo-random number generator)或雜湊函數(hash function),以得到一個矩陣或足以指示選擇了哪個或哪些可寫位置的資料結構。本發明並不限定密鑰的使用、選擇可寫位置的演算法或假性亂數產生器的個數。舉例而言,條碼收發雙方可以約定任意的可寫位置隱藏和發掘資
訊,或以非密鑰的任意辨識碼選擇。
於步驟S17中,依據待隱藏資訊,選擇性地修改可寫位置上所記錄的位元。具體而言,待隱藏資訊本身可視為一串位元。將待隱藏資訊的某個位元寫入某個選定的可寫位置時,若該可寫位置上所記錄的位元已和待寫入的位元相同,則對於此位元或此可寫位置可忽略步驟S17。當然,當可寫位置上的和待寫入的位元不同時,步驟S17實質上便是翻轉了可寫位置上的位元。另外,當所述資訊隱藏方法不包含步驟S13時,寫入的待隱藏資訊為明文(plain text)。
在一實施例中,本發明利用條碼本身的錯誤更正能力,使條碼於步驟S17被修改後仍完整承載取得時(步驟S11)所編碼的條碼資料。由是,待隱藏的資訊的長度一般而言不能超過條碼的錯誤更正容量,或甚至小於某自定義上限,方能讓竊聽者或與該資訊無關的條碼接收方純粹將所修改的模組當成傳輸錯誤處理。以快速響應碼為例,其規範指出「錯誤更正容量小於錯誤更正碼字組(word)數量的一半」,其中一個字組等同八個模
組或位元。以數學式表示,即,其中E為錯誤更正碼的字
組數,C為以位元計的錯誤更正容量。當然,假設待隱藏資訊的諸位元為隨機分布,則平均而言只約有一半的可寫位置上的位元會被翻轉,因此在另一實施例中,待隱藏資訊的長度可有限度地大於錯誤更正容量。
於步驟S17中,選擇可寫位置除密鑰外可更依據錯誤更正容量或待隱藏資訊的長度。也就是說,在一實施例中,錯誤更正容量或待隱藏資訊的長度亦為前述假性亂數產生器的輸入,所輸出的矩陣或資料結構不會指示超過數量的可寫位置。舉例來說,假設待隱藏資訊以列向量S表示,其長度為C,所有模組位置上的位元以列向量b表示,其長度為nq,則步驟S17可以下列數學式表示:D| C×nq .b' T | nq×1=S T| C×1其中T表示轉置(transpose),D為依據密鑰、錯誤更正容量和模組位置所記錄的位元量產生出用以選擇可寫位置的矩陣,其具有C列nq行,b'為可寫位置上的位元被選擇性修改後的b。b'可由線性方程式求解。
條碼的諸模組位置可分屬多個區塊。這隱含著本發明的多種態樣。在一實施例中,並非所有的區塊皆為提供可寫位置的「可寫」區塊。在一實施例中,步驟S15中通用一把密鑰,因此從某區塊選出的可寫位置於此區塊的分布會和從另一區塊選出的可寫位置於該另一區塊的分布相同。在另一實施例中,多把密鑰和多個可寫區塊一一對應,於其中一個可寫區塊選擇可寫位置時是依據對應的密鑰,故於某區塊選出的可寫位置於此區塊的分布和從另一區塊選出的可寫位置於該另一區塊的分布可不相同。具體而言,
其中正整數i=1...n,n為區塊的個數,每一區塊包含q個模組位置,p=C/n,D i 為依據對應密鑰等產生出用以於可寫區塊i選擇可寫位置的矩陣,為可寫區塊i上的位元被選擇性修改後形成的列向量,S i 為待隱藏資訊對可寫區塊i切割出的n分之一。可由線性方程式求解。在又一實施例中,步驟S15中通用一把密鑰,但各可寫區塊i分別具有辨識碼,D i 的產生至少依據密鑰和可寫區塊i的辨識碼。
在一實施例中,於步驟S13中取得的條碼可用以寫入多筆待隱藏資訊。於步驟S15中,這需要多把和諸待隱藏資訊一一對應的密鑰,因此對某一待隱藏資訊選擇的可寫位置會和對另一待隱藏資訊選擇的不同(但可能部份重疊)。此實施例可與上文模組位置分屬多個區塊的諸實施例結合,例如待隱藏資訊對應一密鑰樹或鏈,其上的每一節點對應一可寫區塊。另外,在一實施例中,對不同待隱藏資訊執行步驟S17的諸結果係經過互斥或(exclusive or)運算形成最後的修改過的條碼。
請配合第1圖參見第2圖,其描繪一實施例中本發明的資訊發掘方法。如第2圖所示,於步驟S21中,取得包含多個模組位置且寫入有至少一已隱藏資訊的一張條碼。簡言之,此張條碼包含b'。於步驟S23中,依據至少一密鑰,自前述模組位置選擇一或多個作為當讀位置。以對稱式加密而言,事先必須分享好選擇當讀位置所用的密鑰,因此步驟S23和S15實質上相同。舉例來說,當條碼的收發雙方皆將同一把密鑰輸入同一個假
性亂數產生器,應能得到相同的D;則依據前文數學式,與b'相乘可於步驟S25中還原出發送方所隱藏的資訊S。當然,技術上而言,一對密鑰分別經過特殊設計的相同或不同的假性亂數產生器或雜湊函數產生指示同樣的可寫或當讀位置的資料結構並非不可行。一般而言,於步驟S25中,將當讀位置上所記錄的位元集中可拼湊出已隱藏資訊。若已隱藏資訊是加密過的,則於選擇性的步驟S27中解密之。如前所述,步驟S27中所使用的對稱或非對稱式解密的密鑰和步驟S13、S15和S23中所使用者可以相同也可能不同。
在一實施例中,假設於步驟S21中取得的條碼藏有兩筆已隱藏資訊,條碼的接收方持有對應的兩把密鑰並已知其中一筆資訊,則接收方可循本發明的資訊隱藏方法將已知的資訊寫入(經錯誤更正的)條碼,此條碼與於步驟S21中取得的條碼經過互斥或運算可得僅藏有未知資訊的另一條碼。循本發明的資訊發掘方法可讀取出此未知資訊。
綜上所述,本發明以翻轉模組的方式將待隱藏資訊寫入日益普及的條碼。若利用條碼的錯誤更正功能,則除條碼本身編碼的資料得以保存,也只有持有授權或關聯的密鑰的接收方才能讀取已隱藏的資訊。由於本發明實作效率高且未改變條碼的規範結構,在大多情況下即便是低功率或可攜的掃描器亦能成功感應經本發明修改的條碼。
雖然本發明以前述之實施例揭露如上,然其並非用
以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
Claims (16)
- 一種資訊隱藏方法,包含:取得一條碼,該條碼包含多個模組位置,每一該模組位置上記錄有至少一位元;自該些模組位置選擇一或多個可寫位置;以及選擇性地修改該或該些可寫位置上所記錄的該或該些位元,以將至少一待隱藏資訊寫入該條碼。
- 如請求項1所述的資訊隱藏方法,其中該條碼具有一錯誤更正容量,該待隱藏資訊的長度不大於該錯誤更正容量。
- 如請求項2所述的資訊隱藏方法,其中依據該錯誤更正容量或該待隱藏資訊的長度選擇該或該些可寫位置。
- 如請求項1所述的資訊隱藏方法,其中利用至少一密鑰、至少一識別碼或至少一假性亂數產生器選擇該或該些可寫位置。
- 如請求項1所述的資訊隱藏方法,其中該些模組位置分屬多個區塊,該或該些可寫位置係選擇自該些區塊中一或多個可寫區塊。
- 如請求項5所述的資訊隱藏方法,其中該或該些可寫區塊係多個可寫區塊,該些可寫區塊與多個密鑰一一對應,於該些可寫區塊其中之一選擇至少部分的該或該些可寫位置係依據對應該可寫區塊的該密鑰。
- 如請求項1所述的資訊隱藏方法,其中該至少一待隱藏資訊係多個待隱藏資訊,該些待隱藏資訊與多個密鑰一一對應,對該些待隱藏資訊其中之一選擇至少部分的該或該些可寫位置係依據對應該待隱藏資訊的該密鑰。
- 如請求項1所述的資訊隱藏方法,更包含:加密該待隱藏資訊;其中寫入該條碼的該待隱藏資訊係加密過的該待隱藏資訊。
- 一種資訊發掘方法,包含:取得一條碼,該條碼包含多個模組位置並寫入有至少一已隱藏資訊,每一該模組位置上記錄有至少一位元;自該些模組位置選擇一或多個當讀位置;以及依據該或該些當讀位置上所記錄的該或該些位元,自該條碼讀取該至少一已隱藏資訊。
- 如請求項9所述的資訊發掘方法,其中該條碼具有一錯誤更正容量,該已隱藏資訊的長度不大於該錯誤更正容量。
- 如請求項10所述的資訊發掘方法,其中依據該錯誤更正容量或該已隱藏資訊的長度選擇該或該些當讀位置。
- 如請求項9所述的資訊發掘方法,其中利用至少一密鑰、至少一識別碼或至少一假性亂數產生器選擇該或該些當讀位置。
- 如請求項9所述的資訊發掘方法,其中該些模組位置分屬多個區塊,該或該些當讀位置係選擇自該些區塊中一或多個當讀區塊。
- 如請求項13所述的資訊發掘方法,其中該或該些當讀區塊係多個當讀區塊,該些當讀區塊與多個密鑰一一對應,於該些當讀區塊其中之一選擇至少部分的該或該些當讀位置係依據對應該當讀區塊的該密鑰。
- 如請求項9所述的資訊發掘方法,其中該至少一已隱藏資訊係多個已隱藏資訊,該些已隱藏資訊與多個密鑰一一對應,對該些已隱藏資訊其中之一選擇至少部分的該或該些當讀位置係依據對應該已隱藏資訊的該密鑰。
- 如請求項9所述的資訊發掘方法,更包含:解密該已隱藏資訊;其中讀取自該條碼的該已隱藏資訊係未解密的該已隱藏資訊。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103115346A TW201541359A (zh) | 2014-04-29 | 2014-04-29 | 資訊隱藏與發掘方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103115346A TW201541359A (zh) | 2014-04-29 | 2014-04-29 | 資訊隱藏與發掘方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201541359A true TW201541359A (zh) | 2015-11-01 |
Family
ID=55220514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103115346A TW201541359A (zh) | 2014-04-29 | 2014-04-29 | 資訊隱藏與發掘方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TW201541359A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI646467B (zh) * | 2017-09-30 | 2019-01-01 | 元智大學 | 具有隱匿資料之二維條碼產生方法與系統 |
-
2014
- 2014-04-29 TW TW103115346A patent/TW201541359A/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI646467B (zh) * | 2017-09-30 | 2019-01-01 | 元智大學 | 具有隱匿資料之二維條碼產生方法與系統 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8799679B2 (en) | Message authentication code pre-computation with applications to secure memory | |
CN108964872B (zh) | 一种基于aes的加密方法及装置 | |
CN105634732B (zh) | 一种密文域多比特可逆信息隐藏方法 | |
CN101261666B (zh) | 一种通过加密可执行程序文件实现软件版权保护的方法 | |
CN103778590A (zh) | 利用数字图像存储和传输信息的方法和装置 | |
JP2006244496A5 (zh) | ||
Arun et al. | Design of image steganography using LSB XOR substitution method | |
CN102156843B (zh) | 数据加密方法与系统以及数据解密方法 | |
US20090080659A1 (en) | Systems and methods for hardware key encryption | |
CN103348626A (zh) | 认证者、被认证者和认证方法 | |
CN103348625A (zh) | 认证者、被认证者和认证方法 | |
CN103095449A (zh) | 一种基于流密码的动态加密解密方法 | |
JPWO2006033347A1 (ja) | 機密情報処理方法、機密情報処理装置、およびコンテンツデータ再生装置 | |
CN104484126A (zh) | 一种基于纠删码的数据安全删除方法和系统 | |
CN1643841A (zh) | 加密密钥隐藏及恢复的方法和系统 | |
Panduranga et al. | Hybrid approach for image encryption using scan patterns and carrier images | |
Jose et al. | Hash and Salt based Steganographic Approach with Modified LSB Encoding | |
US20200235922A1 (en) | Encryption method | |
CN102480353A (zh) | 口令认证和密钥保护的方法 | |
CN107590843B (zh) | 基于构造的二维可逆元胞自动机的图像加密方法 | |
US20170032108A1 (en) | Licensable function for securing stored data | |
TW201541359A (zh) | 資訊隱藏與發掘方法 | |
US10892890B2 (en) | Hash offset based key version embedding | |
CN111831983B (zh) | 基于脱敏数据的水印嵌入方法、水印读取方法及水印系统 | |
CN100576226C (zh) | 基于中国剩余定理的数据库加密方法 |