本發(fā)明屬于密碼學的領(lǐng)域,并且本發(fā)明的觀點涉及一種用于重構(gòu)特別是用于在電子芯片卡或射頻識別設(shè)備(RFID)中使用的物理不可克隆函數(shù)(PUF)的裝置和方法。
背景技術(shù):縮寫PUF代表不可克隆函數(shù),也稱作物理散列函數(shù)。基本理念是將對象的物理特性數(shù)字化并且由此獲得被分配給該對象的比特串。其中,值得期待的是,兩個不同的物理對象的比特串彼此之間沒有關(guān)聯(lián)。為了進行說明,以一張紙作為簡單的例子。如果在顯微鏡下進行觀察,能夠看到木屑或纖維素部分的一種特別的精密結(jié)構(gòu)。對該結(jié)構(gòu)進行測量并借助于合適的算法將其作為比特串示出。該比特串便是被分配給這張紙的PUF。一般而言,另外一張紙將會得出完全不同的比特串,即與第一張紙的比特串沒有關(guān)聯(lián)的比特串?!氨忍卮焙汀拔淮边@兩個概念在后面同義地使用。從物理對象的特性中產(chǎn)生(PUF的)比特串的過程稱為PUF生成。PUF的主要應(yīng)用是生成用于完全電子化以及計算機化的加密方法的密鑰。例如能夠?qū)UF位串本身作為密鑰使用?;蛘呔哂幸欢▋?yōu)勢的是能夠?qū)UF位串壓縮為較短的位串并且將后者作為密鑰使用。后一種方法通常應(yīng)用在芯片卡中,其中,用于PUF生成的機制集成在卡的電子裝置中。以這種方式并通過PUF生成和其用于密鑰生成的應(yīng)用而避免了必須將密鑰本身存儲在卡上,因為這可能帶來安全風險。PUF機制的一種值得期待的特性是,同一物理對象、即例如同一芯片卡在新的PUF生成的過程中每次都得出同一比特串。特別是在不同的環(huán)境條件下,例如在不同的溫度、空氣濕度、亮度、電和磁場強度等條件下,也應(yīng)如此。然而情況通常并非是這樣。一般而言,對于同一物理對象的重復(fù)的PUF生成提供不同的比特串。雖然比特串彼此之間完全相似,但并不一定彼此相同。人們嘗試用編碼理論的方法(糾錯)來平衡這種缺陷。其中,采取如下措施。已知一個物理對象。在開始時產(chǎn)生被分配給該對象的PUF比特串A。該比特串A即為第一次PUF生成的結(jié)果。比特串A被視為編碼理論中的消息,消息應(yīng)通過容易受到干擾的信道進行傳輸,其中可能發(fā)生的情況是,在傳輸過程中出現(xiàn)錯誤,即單個的比特記錄突然發(fā)生改變,也就是說,零變成一或者反之。在編碼理論中這樣應(yīng)對這種問題,即消息A備有冗余信息R并且傳輸碼字(A,R)。如果在傳輸時出現(xiàn)錯誤,那么,由于該冗余信息R的存在便能夠通過編碼理論的方法校正這些錯誤。無誤的消息字A在校正后重新出現(xiàn)。在PUF生成中利用的是同一理念。初始的PUF值A(chǔ)(在第一次PUF生成中產(chǎn)生的值)被稱為真的PUF值。從真的PUF值A(chǔ)中計算出附屬的冗余值R。R被稱作輔助信息,并且借助于R應(yīng)在后來的某一時間點上實現(xiàn)真的PUF值A(chǔ)的重構(gòu)。為了簡單起見,在這里假定,真的PUF值A(chǔ)是進行首次PUF生成時產(chǎn)生的那個位串。實際上,例如芯片卡的真的PUF值在制造時是在芯片-個人化的過程中確定的。其中常見的是,多次或者說頻繁地相繼產(chǎn)生PUF值,并且將例如中間值或最頻繁產(chǎn)生的值定義為真的PUF值。另一種處理方式是將儲備納入計劃內(nèi)。假定需要長度為800比特的PUF值。然而產(chǎn)生的卻是(例如)長度為1000比特的PUF值,以便擁有儲備。隨后在工廠中多次地、例如100次地產(chǎn)生1000比特的PUF值。每一個在這100 次產(chǎn)生1000比特的PUF值的期間不穩(wěn)定的、即沒有始終示出相同的比特值的比特-位置被宣布為無效。假定在100次PUF生成的期間每次出現(xiàn)相同比特值的位置有840個。則從這840個位置選擇例如800個位置,并且由這800個位置定義真的PUF值。借助于編碼算法而計算出的值R被存儲。處于安全原因,PUF值A(chǔ)本身未被存儲并且因此也并非始終都可供使用。原因在于,該PUF值A(chǔ)直接作為密鑰使用,或者從其中推導(dǎo)出密鑰。如果能夠輕易地獲取PUF值A(chǔ),則不能再將相應(yīng)的密鑰視為機密。在后來的再次的PUF生成中獲得新的PUF值B。雖然值B一般不同于A,但是僅細微地區(qū)別于A。目的是從可供使用的值B中重新獲取真的PUF值B。這借助于R和編碼理論的方法實現(xiàn):B->(B,R)->(A,R)->A即:當前存在的PUF值B被擴展了輔助信息R的長度,其中,A,B和R是比特串。比特串(B,R)隨后被視為編碼理論的范疇內(nèi)的有誤的字并且隨后借助于編碼理論校正該錯誤。從而獲得消除了錯誤的字(A,R)。此時特別地得到了真的PUF值A(chǔ)。只有當最后產(chǎn)生的并且當前存在的PUF值B與真的PUF值A(chǔ)的區(qū)別不是太大時,才能實現(xiàn)從B中重構(gòu)A的目的。用編碼理論的術(shù)語表述為:從相對于初始的真的PUF值A(chǔ)的角度來看,當在生成B的過程中沒有發(fā)生過多的錯誤時,才能實現(xiàn)該目的。新生成的PUF值B典型地區(qū)別于真的PUF值A(chǔ)的程度、即典型地有待校正的錯誤的多少取決于PUF的技術(shù)實現(xiàn)。視PUF的技術(shù)實現(xiàn)而定,B可能在小于1%、例如在0.3%或者0.6%的位置上,或者在最高達25%的位置上區(qū)別于A。B平均地區(qū)別于A的程度越高,PUF重構(gòu)算法的硬件 -實現(xiàn)的規(guī)模便越大并且費用便越高。這也意味著更高的制造成本、更大的空間需求,也可能意味著更高的能量消耗。對此存在多個原因。當應(yīng)從PUF值中形成例如長度為128比特的密鑰時,產(chǎn)生以下參數(shù):錯誤率越高(即B區(qū)別于A的程度越高),位串A和B便必須越長,以便最終得出安全的128比特密鑰。如果在B中出現(xiàn)了15%的相對于A的錯誤,那么A(并且B也由此同樣)必須達到大約4000比特的長度,以便取得128比特的密鑰(當錯誤率為25%時需要大約6000比特的長度)。當僅出現(xiàn)1%的錯誤時,A和B須為大約600比特的長度,以便同樣地提供長度為128比特的密鑰。上面說明的值和情況的計算借助于編碼理論實施并且對于專業(yè)技術(shù)人員而言是已知的,因此不在這里贅述。當錯誤率更低并且待生成的密鑰更短時,例如A和B各自為64比特的長度便已足夠。出現(xiàn)的錯誤越多,所應(yīng)用的錯誤校正-算法便必須越強,并且算法的實施的投入便越大并且因此越昂貴。在電子的芯片卡的領(lǐng)域內(nèi)通常應(yīng)用這些方法,即通過測量在硅中實施的電子電路、例如晶體管而產(chǎn)生PUF。集成電路在制造過程中存在差異,即便是生產(chǎn)者也不能完全控制這些差異,這些差異導(dǎo)致產(chǎn)生這樣的情況,即兩個不同的集成電路所產(chǎn)生的PUF串彼此沒有關(guān)聯(lián)。這被用于使得不同的集成電路自動地生成不同的PUF,而這從安全技術(shù)的角度來說是一個基本前提。對于該種電路而言,可以典型地估計其錯誤率為1%到10%之間。即:新生成的PUF串B將可能在大約p%的比特-位置上區(qū)別于真的PUF值A(chǔ),其中,p為1到10之間的數(shù)字。根據(jù)通過試驗確定的值p隨后實施合適的PUF串-長度和必要的糾錯算法。在一個例子中,應(yīng)當從PUF串A中提取出長度為128比特的密鑰。如果p等于1,那么PUF串A必須為此具有大約600比特的長度。如果p等于10,則PUF串A的長度必須約為3000比特。此外適用的是,與p等于10的情況相比,p等于1時所需要的、或者說能夠滿足p等于1時的情況的糾錯算法更簡單。如已經(jīng)在前面說明的,該問題目前僅通過編碼理論的方法解決:選擇合適的代數(shù)編碼,該代數(shù)編碼幾乎一貫是一種直線編碼。從最初測量的PUF位-串A中通過所選擇的編碼計算出附屬的冗余值R。隨后將該冗余值R——代表PUF串A——存儲在芯片卡的非易失性存儲器(NVM-nichtflüchtigerSpeicher)中。出于安全性的原因沒有存儲A本身。在再次的后來的PUF生成中獲得位-串B。隨后借助于冗余值R和來自于糾錯編碼的理論(代數(shù)編碼理論)的算法從B中計算出值A(chǔ)。換言之:即將B理解成是A的錯誤版本,并且借助于R和糾錯算法校正錯誤。其中須注意,冗余值R必須短于A。由于R被存儲在了NVM中,所以認為R是或多或少公開已知的。從A中提取出密鑰。如果|A|是A的比特長度,并且|R|是R的比特長度。那么差|A|-|R|便是密鑰的長度。并且從A中僅能夠獲得唯一的該長度的密鑰。在一個例子中,PUF值A(chǔ)具有500比特的長度。冗余值R具有400比特。則能夠從A中推導(dǎo)出長度為100比特的密鑰。能做到這一點的一個相近的可能性在于,每次把A的5比特加上模數(shù)2——即進行XOR運算——以便獲得密鑰比特。
技術(shù)實現(xiàn)要素:在這一背景之下存在對于能夠改進PUF生成、例如使其更快速或者降低計算投入的方法和裝置的需求。根據(jù)第一個實施例提出了一種用于重構(gòu)在電子設(shè)備中使用的PUFA的方法。該方法包括生成可能帶有錯誤的PUFAt;借助于存儲的校正矢量Deltat-1對PUFAt進行預(yù)校正,以便獲得經(jīng)過預(yù)校正的PUFBt;和從經(jīng)過預(yù)校正的PUFBt中借助于糾錯算法、優(yōu)選地借助于ECC算法(代數(shù)編碼理論)重構(gòu)PUFA。根據(jù)另一個實施例提出了一種裝置。該裝置包括用于產(chǎn)生可能帶有錯誤的PUFAt的元件;用于存儲校正矢量Deltat-1的存儲器;和用于實施糾錯算法的計算單元。附圖說明此外,應(yīng)通過在附圖中示出的實施例說明本發(fā)明,從這些實施例中得出其它的優(yōu)點和變體。圖1示意性地示出了用于重構(gòu)根據(jù)本發(fā)明的實施方式的PUF的方法;圖2示出了根據(jù)本發(fā)明的實施方式的裝置的示意圖;圖3示意性地示出了根據(jù)實施方式的裝置。后面對本發(fā)明的不同的實施方式進行說明,這些實施方式中的某些實施方式也在附圖中示例性地示出。在對于附圖的以下說明中,相同的參考標號涉及相同的或相似的組件。一般僅對不同的實施方式之間的不同之處進行說明。在此也能夠?qū)⒈蛔鳛槟骋粚嵤┓绞降牟糠侄f明的特征任意地與其它的實施方式相關(guān)聯(lián)地進行組合,以便產(chǎn)生其它的實施方式。具體實施方式正如已經(jīng)提到的,從當前的位串B中重構(gòu)真的PUF位串A是借助于冗余信息R并通過糾錯算法實現(xiàn)的。在PUF生成以及PUF重構(gòu)的問題這 一方面和通過易受干擾的通道傳輸消息以及校正所接收的消息的問題這一方面之間存在密切的關(guān)聯(lián)。在進行PUF重構(gòu)時最初生成了(真的)PUF位串A。在后來的某一時間點上,在新的PUF重構(gòu)的過程中獲得位串B。(隨后)應(yīng)從當前的B中重構(gòu)不公開的A。在消息傳輸?shù)倪^程中存在消息A,一貫也能夠?qū)⒃撓⒆鳛槲淮境?。A通過易受干擾的通道發(fā)送??赡艹霈F(xiàn)一些傳輸錯誤。消息B被接收。隨后通過糾錯算法校正在B中出現(xiàn)的錯誤。作為結(jié)果而獲得初始的消息A。在消息傳輸中通常假定通道為所謂的“二級制對稱信道(BinarySymmetricChannel)”。這意味著,假定A中的單個的信息比特彼此獨立地以相同的概率“突然發(fā)生改變(umkippen)”,即變成錯誤的比特。也就是說,對于具有參數(shù)p的二進制對稱信道而言適用的是:單個的、受到觀測的、然而卻是任意的消息比特在傳輸時以概率p轉(zhuǎn)化為它的補充比特(從0變成1,以及從1變成0)。消息比特以概率1-p無錯誤地傳輸。如果此時觀察PUF情況,那么將會發(fā)現(xiàn)偏離于以上的對于消息傳輸?shù)挠^察的情況,即其中并不是A的任一比特均以相同的概率在新的PUF生成的過程中轉(zhuǎn)化為它的補充比特。相反地,觀察表明,A中的單個的比特以不同的概率“突然發(fā)生改變”,即轉(zhuǎn)化為它的相應(yīng)的補充比特。結(jié)果是組中的非常頻繁地突然發(fā)生改變的比特因此從一開始——即在集成電路在工廠里的制造過程中——便被確認、宣布為無效/不可使用并且在以后的時間里被忽略。但是在余下的可使用的比特中也發(fā)現(xiàn),它們以不同的概率突然發(fā)生改變。甚至似乎存在從不突然發(fā)生改變的比特。這些是穩(wěn)定的比特,這些比特始終具有正確的值。此外還有以下兩種現(xiàn)象:第一種是:作為老化過程的結(jié)果,單個的可使用的比特(即最初僅極少地突然發(fā)生改變的比特)這樣改變其行為,即它們越來越頻繁地突然發(fā) 生改變。在極端情況下,它們在任一時刻持續(xù)地發(fā)生改變,即它們是穩(wěn)定的,但提供的卻始終是錯誤的值。第二種是:概率為此發(fā)生變化,即比特在受到環(huán)境條件的影響下突然發(fā)生改變。主要是在硅基的、即借助于基于晶體管的電路產(chǎn)生的PUF中存在對于溫度的依賴性。因此存在這樣的比特,即其在-20攝氏度時極少突然發(fā)生改變,但在+80攝氏度時卻非常頻繁地突然發(fā)生改變。通過這種方式,在某一環(huán)境條件下幾乎穩(wěn)定的比特在變化了的環(huán)境條件下、特別是當在舊的和新的環(huán)境條件之間存在較大的差異時變得非常不穩(wěn)定。這意味著,(相對于真的PUF位串A的)新的PUF生成將會具有與通過二進制對稱信道進行信息傳輸相同的表現(xiàn)的假定是錯誤的。相反地應(yīng)當由此出發(fā),即PUF生成具有一種記憶效應(yīng)(MemoryEffect)。在進行PUF生成時在時間點t上出現(xiàn)的錯誤在多數(shù)情況下與在進行PUF生成時在時間點t-1上出現(xiàn)的錯誤相似。因此,(在相同的或至少相似的環(huán)境條件下),在幾乎彼此相鄰的時間點上實施的PUF生成的過程中出現(xiàn)的錯誤在統(tǒng)計學上并不是——像一般地在上述的、通過信道進行的消息傳輸時的情況一樣——是彼此獨立的,相反而是彼此近似的。在這里說明的根據(jù)實施例的方法中利用該效應(yīng):在較早的時間點t-1上進行PUF重構(gòu)時計算出的錯誤被存儲,并且用于在后來的、或者說當前的時間點t上進行的PUF重構(gòu)。其中充分利用這種情況,即PUF生成在一定的程度上取決于環(huán)境條件。因此,一般說來,校正相對于從前一個PUF請求中生成的PUF值而出現(xiàn)的PUF錯誤比校正相對于(在集成電路的或者例如芯片卡的生命周期中)首次生成的PUF值而出現(xiàn)的PUF錯誤更容易。如果A為真的PUF值,即在工廠里制造集成電路時確定的首個PUF值。此外,如果At是在(后來的)時間點t上產(chǎn)生的PUF值。即:在時間點t上提出PUF請求,并且由此激活PUF模塊。作為激活的結(jié)果是由模塊產(chǎn)生當前的PUF值A(chǔ)t。此外,如果Et是錯誤矢量。矢量Et表示真的(首個)PUF值A(chǔ)和當前產(chǎn)生的PUF值A(chǔ)t之間的差別。對于上述內(nèi)容的舉例:A=(1111100011);At=(1011100011)則Et=(0100000000)即適用:A=At+Et注:在傳統(tǒng)的(未在這里采用的)用于PUF重構(gòu)的處理方式中進行如下處理:在PUF激活后獲得At。借助于ECC糾錯算法從At中計算出錯誤矢量Et。隨后通過A=At+Et得出真的PUF值A(chǔ)。符號、確切地說算符“+”始終指的是按位運算的XOR算法。注意:錯誤矢量Et在實施例中說明的是A和At之間的差(Delta)。因此Et也稱為Deltat。即適用:Deltat=Et不同于上述的傳統(tǒng)的處理方式,在根據(jù)實施例的Delta校正方法中進行如下處理。在時間點t-1上產(chǎn)生的錯誤矢量et-1=Deltat-1未被丟棄,而是 在Delta目錄中準備就緒,即存儲在其中。當此時在時間點t上由PUF模塊產(chǎn)生了當前的PUF值A(chǔ)t時,不是立即嘗試通過ECC糾錯算法去校正At。而是計算Bt=At+Deltat-1該步驟由此表示的是一種預(yù)校正。在許多情況下,At中的一些比特錯誤已經(jīng)通過該預(yù)校正得到了校正。因此和Bt表示的是比最初通過激活而產(chǎn)生的比特串更接近所尋求的真的PUF值A(chǔ)的近似值?,F(xiàn)在對Bt進行ECC糾錯算法。通過該糾錯算法計算出Bt相對于A的錯誤et。一般而言,該錯誤et小于Et,即et所包含的一少于Et。隨后從Bt和et中這樣得出真的PUF值A(chǔ):A=Bt+et最后如下地更新Delta-目錄。Delta目錄的當前內(nèi)容是Deltat-1。將該值加上計算出的錯誤矢量et,即進行按位運算的XOR運算。結(jié)果:Deltat=Deltat-1+et被作為新的值寫入Delta目錄中。對于在其中由PUF模塊產(chǎn)生At+1的下一次PUF生成而言,可重復(fù)使用該方法。在例子中說明上述內(nèi)容:如果A=(1111100011)Deltat-1=(1010000001)At=(0100100011)(注意:At有三個錯誤)計算Bt=At+Deltat-1:Bt=(1110100010)(注意:Bt尚還有兩個錯誤)現(xiàn)在通過ECC算法對Bt進行糾錯。ECC產(chǎn)生錯誤矢量et:et=(0001000001)et和Bt相加得出真的PUF值A(chǔ):Bt=(1110100010)+et=(0001000001)-------------------------------------A=(1111100011)最后通過將Deltat-1和et相加計算Deltat:Deltat-1=(1010000001)+et=(0001000001)-------------------------------------Deltat=(1011000000)一般而言,Delta預(yù)校正將會使隨后的糾錯算法變得容易一些。但是也可能存在這樣的情況,即Delta(預(yù))校正是不起積極作用的:假定時間點t-1和t彼此間隔很遠并且在這些時間點上存在完全不同的環(huán)境條件,典型地是溫度不同。那么差Deltat-1和Deltat極有可能也不再相似,而是顯著地彼此相區(qū)別。那么At本身則是比矢量Bt更接近真的PUF值A(chǔ)的近似值。在該種情況下最好是抑制以及略去Delta校正的過程并按照傳統(tǒng)的方式進行處理。這意味著,正如在上面描述的傳統(tǒng)的處理方式一樣,在進行PUF重構(gòu)時將矢量At直接輸入ECC糾錯中。因此值得推薦的是,不是固定不變地實施Delta校正機制,而是這樣來實施,即該機制也有可能(自動地)切斷。其中,典型地有意義的是以下的處理方式。首先嘗試進行上述的、具有Delta校正的PUF重構(gòu)。如果失敗,即如果ECC糾錯隨后得出的是在組中被判定為錯誤的值,那么便再嘗試一次不具有Delta校正的、即以傳統(tǒng)的方式進行的PUF重構(gòu)。也可以考慮相反的順序,即首先執(zhí)行該方法的傳統(tǒng)的變體,并且隨后執(zhí)行具有上述Delta校正的方法。圖1示出了用于重構(gòu)在根據(jù)實施例的電子設(shè)備中使用的PUFA的方法100。該方法包括在程序塊110中產(chǎn)生(可能)帶有錯誤的PUFAt;在程序塊120中借助于存儲的校正矢量Deltat-1對PUFAt進行預(yù)校正,以便獲得經(jīng)過預(yù)校正的PUFBt;以及在程序塊130中從經(jīng)過預(yù)校正的PUFBt中借助于糾錯算法重構(gòu)PUFA。在此,從PUFBt中借助于糾錯算法對PUFA的重構(gòu)典型地包括將ECC算法應(yīng)用在比特串Bt上,以便作為結(jié)果而獲得錯誤矢量et。隨后實 施Bt和et的XOR運算(Verknüpfung)。由此獲得新的校正矢量Delta的預(yù)備值。借助于存儲的校正矢量Deltat-1和錯誤矢量et的XOR運算計算新的、確切的說是經(jīng)過更新的校正矢量Deltat。Deltat此時作為新的校正矢量被存儲在錯誤目錄230中,如已經(jīng)說明的,這一新的校正矢量在后來的再次的PUF重構(gòu)中再次作為錯誤矢量使用。也就是說,它擔任了之前的Deltat-1的角色。作為輸入值將經(jīng)過預(yù)校正的PUFBt和冗余值R輸入ECC算法中。在上面較靠前的地方已對后者詳細地進行了說明,因此在這里不再進行詳細地處理。圖2示意性地示出了根據(jù)實施例的方法200的流程圖。在程序塊210中產(chǎn)生了可能帶有錯誤的PUFAt。在程序塊220中將該PUFAt與存儲在存儲器230中的校正矢量Deltat-1進行XOR運算。結(jié)果即為經(jīng)過預(yù)校正的比特串Bt。現(xiàn)在在步驟235中對該比特串Bt應(yīng)用糾錯算法,典型地是進行ECC算法。從中產(chǎn)生錯誤矢量et。該錯誤矢量在步驟240中通過XOR運算與經(jīng)過預(yù)校正的比特串Bt綁定,從中得出真的PUFA。錯誤矢量et在程序塊260中通過XOR運算與之前已經(jīng)利用過的校正矢量Deltat-1通過XOR綁定,以便獲得新的、確切地說是當前的(預(yù))校正矢量Deltat。該校正矢量被作為新的校正矢量Deltat寫入存儲器230、即程序塊270中,以供下一個PUF重構(gòu)周期使用。其中,At的長度典型地為大約64比特至6000比特。其中,At的平均的比特錯誤率能夠為大約0.3%至大約25%,例如為1%、3%、5%、10%、15%或20%。經(jīng)過重構(gòu)的真的PUFA的長度典型地為大約64比特至大約6000比特。根據(jù)實施例的、用于PUF重構(gòu)的方法典型地在芯片卡的電子裝置上實現(xiàn)。其中,帶有錯誤的PUFAt的產(chǎn)生典型地通過基于晶體管的方法進行。校正矢量Deltat通常存儲在只讀存儲器、例如電可擦除可編程只讀存儲器(EEPROM)上。正如已經(jīng)提到的,在不利的環(huán)境條件下、例如在與上一次進行的PUF重構(gòu)時相比電子裝置存在較大的溫差的情況下,根據(jù)實施例的Delta校正方法也可能對重構(gòu)起到消極作用,從而使得在不利的情況下完全不能進行任何正確的重構(gòu)。因此可以在實施例中根據(jù)標準來測試是否正確地重構(gòu)了PUFA。在PUFA未正確重構(gòu)的情況下,則有可能在不校正PUFAt的前提下借助于存儲的校正矢量Deltat-1重新實施重構(gòu)。為實現(xiàn)這一目的,例如應(yīng)用在Bt上的ECC算法能夠設(shè)有不同的強度,從而使得在標準情況(具有Delta預(yù)校正的情況)下應(yīng)用較弱的校正算法。如果在如上所述的特殊情況下該方法失效,則能夠放棄校正并應(yīng)用較強的校正算法。校正矢量Delta的長度在實施例中與PUF值A(chǔ)的長度相同。在實際的應(yīng)用中,A能夠分解為等長的單段;相應(yīng)地,Delta也能夠分解為相同數(shù)量的等長的單段。例如,長度為1000比特的PUF能夠分解為25個分別長40比特的段,等長的Delta也是如此。在這種情況下能夠應(yīng)用(以較小的碼字長度運算的)較小的糾錯算法,這是由于始終只校正相關(guān)的單段的錯誤,并且不是同時校正總的比特串的所有錯誤。通常從通過根據(jù)實施例的方法重構(gòu)的PUFA中產(chǎn)生密鑰。該密鑰能夠隨后用于具有塊加密或流加密的加密、典型地有高級加密算法(AES)或三重數(shù)據(jù)加密算法(Triple-DES)。圖3示意性地示出了根據(jù)實施例的裝置300,該裝置設(shè)計用于實施根據(jù)實施例的方法。它例如能夠是一種芯片卡或者一種嵌入在終端設(shè)備、例如像移動電話或RFID設(shè)備的移動終端設(shè)備中的密碼模塊。該裝置包括用于產(chǎn)生可能帶有錯誤的PUFAt的元件310,用于存儲校正矢量Deltat-1的存儲器320,以及用于實施糾錯算法的計算單元340。另一個計算單元350用于實施所說明的XOR運算和所有其它的、部分地 在這里沒有詳細地說明的、對于專業(yè)技術(shù)人員而言已知的運算。裝置300的兩個計算單元以及所有的構(gòu)部能夠在實施例中集成地、例如在集成的電路360上實施。該電路也能夠包括其它的構(gòu)部,例如用于重構(gòu)密鑰的邏輯裝置和集成電路以及密碼模塊的、對于專業(yè)技術(shù)人員而言已知的其它的典型的構(gòu)件。對于專業(yè)技術(shù)人員而言完全可以理解的是,在這里說明的方法和裝置也能夠應(yīng)用于不同于在這里所說明的目的,并且這些方法和裝置能夠在完全不同的電子設(shè)備中應(yīng)用,只要在這些設(shè)備中是應(yīng)當重構(gòu)PUF的。此外對于不同于在這其中具體說明的情況的其它情況,能夠通過屬于專業(yè)技術(shù)人員的常識的方法而改變在這其中說明的密鑰長度和比特串的長度。