《A Study of Probabilistic Password Models》(IEEE SP 2014)——論文閱讀

提出更高效的密碼評估工具,將統計語言建模技術引入密碼建模,系統評估各類概率密碼模型性能,打破PCFGw的 “最優模型” 認知。

一、研究背景

????????當前研究存在兩大關鍵問題:一是主流的 “猜測數圖” 計算成本極高,且難以覆蓋強密碼信息;二是被廣泛視為 “最先進模型” 的概率上下文無關文法模型PCFG,未與全字符串馬爾可夫模型等其他模型進行系統對比,且密碼建模未充分借鑒統計語言建模領域的成熟技術(如平滑、歸一化)。

二、概率密碼模型

2.1?定義

????????概率密碼模型是一個函數p: Γ→[0,1]。Γ為所有合法密碼集合。需滿足兩個條件:一是所有密碼的概率非負;二是所有密碼的概率和為 1。若模型對每個合法密碼均分配非零概率,則稱為 “完整模型”。

2.2 分類

? ? ? ? 全字符串模型:不分割密碼,密碼有連貫性,直接對完整字符串建模,典型代表為馬爾可夫鏈模型。

? ? ? ? 基于模板的模型:將密碼按字符類別(分割為多個片段,獨立計算每個片段的概率,再相乘得到密碼總概率。典型代表為PCFG模型,需依賴外部字典實例化字母片段。

三、統計語言建模技術

引入統計語言建模技術解決傳統模型的稀疏性過擬合以及概率歸一化問題

3.1? 全字符串馬爾可夫模型優化

????????全字符串模型不分割密碼,直接對完整字符串建模,核心為馬爾可夫鏈模型

① 歸一化方法:解決傳統馬爾可夫模型 “不同長度密碼概率和為 1” 的不合理假設(實際密碼長度集中在 6-10 位,占比 87%)。

  • 直接歸一化:將每個密碼概率除以合法長度范圍,假設長度分布均勻
  • 分布 - based 歸一化:按訓練集中各長度密碼的占比調整概率(如訓練集中 8 位密碼占 25%,則所有 8 位密碼概率均乘以 25%),但可能因訓練 / 測試集長度差異導致過擬合;
  • 結束符號歸一化:在每個密碼后追加 “結束符號”,通過學習 “字符→結束符號” 的轉移概率,確保所有密碼概率和為 1,同時修正 “前綴概率高于完整密碼” 的問題(如 “passwor” 概率低于 “password”),與回溯結合時性能最優。

② 平滑技術:解決稀疏性與過擬合
高階馬爾可夫模型(如 5 階)易因 “低頻次字符序列計數為 0” 導致密碼概率為 0(稀疏性),或因過度依賴訓練集序列導致泛化差(過擬合)。論文引入兩種核心平滑技術:

  • 加 δ 平滑(Add-δ):對所有字符序列的計數加 δ(取 δ=0.01),避免概率為 0,在高階模型中性能優于 Good-Turing 平滑;
  • Good-Turing 平滑:基于 “出現 i 次的序列總概率≈出現 i+1 次的序列總概率”,調整低頻次序列計數(如出現 1 次的序列計數降為 0.22),但對高階模型易加劇過擬合。

③階數自適應:回溯模型(Backoff)平衡擬合與泛化

????????傳統固定階數馬爾可夫模型存在 “高階擬合好但泛化差,低階泛化好但擬合差” 的矛盾。研究引入 Katz 回溯模型,實現階數的動態自適應。

????????高頻序列用高階:若某字符序列在訓練集中出現頻次高于設定閾值(如 10),用高階模型(如 5 階)計算下一個字符的概率,確保對常見組合的擬合精度。

????????低頻序列退低階:若序列頻次低于閾值,自動退化為低階模型(如 2 階),避免因稀疏性導致概率失真。

????????概率歸一化:對退階后計算的概率進行歸一化,確保同一序列的所有可能后續字符概率和為1.

3.2 對基于模板的模型進行優化

????????針對傳統PCFG模型(基于模板的代表)依賴外部字典、泛化差的缺陷,論文提出兩類優化方向:

① 模板概率分配優化:傳統PCFGw通過訓練集計數獲取模板概率(該模板出現次數 / 總密碼數),論文提出 “用馬爾可夫模型預測模板”,基于字符類型序列的轉移概率計算模板概率,提升泛化能力;

????????首先將模板轉化為“字符類型序列”或“類型切換序列”(緊急爐類型變化點);

????????基于訓練集中所有密碼的類型序列,訓練一個 “類型級馬爾可夫鏈”,,學習類型間的轉移概率。eg:1 階模型中,計算 “α后接β” 的概率P(β|α)?= 訓練集中 “α后接β” 的次數 / 訓練集中 “α后接任意類型” 的總次數。

????????對于任意模板(無論是否在訓練集中出現),通過類型級馬爾可夫模型計算其類型序列的概率,作為模板概率。eg:模板α^2\β^1)的類型序列為ααβ,其概率為P(α|start) ×P(α|α) ×P(β|α)(start為起始符號)

優勢:即使測試集中出現訓練集未見過的新模板,模型也能基于類型轉移規律分配合理概率,避免 “零概率” 問題,泛化性顯著優于傳統計數方法。

② 片段實例化優化:傳統PCFGw依賴外部字典實例化字母片段(未在字典中的序列概率為 0),論文提出 “從訓練集生成字典” “用馬爾可夫模型計算片段概率”。核心是 “從訓練數據中學習片段概率” 并引入平滑技術,覆蓋更多序列,如訓練集字典使PCFGw破解率從 50% 提升至 75%。

????????從訓練集生成字典:

  • 遍歷訓練集中所有密碼,按模板片段的 “類型 + 長度” 拆分出所有片段,構建分類型、分長度的片段庫。
  • 對于某一 “類型 + 長度” 的片段(eg:α^6),其下某具體片段(如 “passwd”)的概率 = 該片段在訓練集中的出現次數 / 訓練集中該 “類型 + 長度” 的所有片段總次數。
  • 優勢是完全基于用戶真實密碼片段,覆蓋個性化組合;局限是對訓練集中未出現的稀疏片段,仍分配概率 0,存在稀疏性問題。

????????用馬爾可夫模型計算片段概率:

  • tb-co-mc 模型:模板概率用傳統計數(co),片段實例化用馬爾可夫(mc)。模板概率仍通過訓練集計數計算。片段實例化時,對字母片段、數字片段分別訓練對應長度的馬爾可夫鏈,計算具體字符序列的概率。
  • tb-mc-mc 模型:模板概率與片段實例化都用馬爾可夫(mc)。模板概率通過類型級馬爾可夫模型計算,片段實例化用字符級馬爾可夫模型,并引入 “加 δ 平滑”,對未出現的片段分配極低但非零的概率,解決稀疏性問題。

四、新型密碼評估工具:概率閾值圖

????????針對傳統 “猜測數圖(Guess-Number Graphs)” 計算成本高、覆蓋范圍有限的缺陷,論文提出概率閾值圖,作為 Type-1 研究(對比不同密碼集相對強度)的核心評估工具。

4.1 介紹

????????以 “對數尺度的概率閾值” 為橫軸(單位:2^{-x},x為橫軸坐標),“概率高于該閾值的密碼百分比” 為縱軸。圖中某點(x,y)表示測試集中y%的密碼,其概率不低于2^{-x}。

4.2 步驟

? ? ? ? 基于目標密碼模型,計算測試集中每一條密碼的概率。設定一系列概率閾值。對每個閾值統計測試集中概率高于該閾值的密碼數量,計算占比。以閾值的對數為軸,占比為縱軸,畫線。

五、總結

????????本研究通過提出新型評估工具、優化密碼模型、開展大規模實驗,為密碼研究提供了更高效的方法論與技術框架,優化后的全字符串馬爾可夫模型可替代PCFG成為新的主流模型,為后續密碼強度評估、破解工具開發提供重要支撐。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/97937.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/97937.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/97937.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

校園外賣點餐系統(代碼+數據庫+LW)

摘要 隨著校園生活節奏的加快,學生對外賣的需求日益增長。然而,傳統的外賣服務存在諸多不便,如配送時間長、菜品選擇有限、信息更新不及時等。為解決這些問題,本研究開發了一款校園外賣點餐系統,采用前端 Vue、后端 S…

友思特案例 | 食品行業視覺檢測案例集錦(三)

食品制造質量檢測對保障消費者安全和產品質量穩定至關重要,覆蓋原材料至成品全階段,含過程中檢測與成品包裝檢測。近年人工智能深度學習及自動化系統正日益融入食品生產。本篇文章將介紹案例三:友思特Neuro-T深度學習平臺進行面餅質量檢測。在…

SQLynx 3.7 發布:數據庫管理工具的性能與交互雙重進化

目錄 🔑 核心功能更新 1. 單頁百萬級數據展示 2. 更安全的數據更新與刪除機制 3. 更智能的 SQL 代碼提示 4. 新增物化視圖與外表支持 5. 數據庫搜索與過濾功能重構 ? 總結與思考 在大數據與云原生應用快速發展的今天,數據庫管理工具不僅要“能用…

10G網速不是夢!5G-A如何“榨干”毫米波,跑出比5G快10倍的速度?

5G-A(5G-Advanced)網絡技術已經在中國福建省廈門市軟件園成功實現萬兆(10Gbps)速率驗證,標志著我國正式進入5G增強版商用階段。這一突破性成果不僅驗證了5G-A技術的可行性,也為6G網絡的發展奠定了堅實基礎。…

Linux筆記---UDP套接字實戰:簡易聊天室

1. 項目需求分析 我們要設計的是一個簡單的匿名聊天室,用戶的客戶端要求用戶輸入自己的昵稱之后即可在一個公共的群聊當中聊天。 為了簡單起見,我們設計用戶在終端當中與客戶端交互,而在一個文件當中顯式群聊信息: 當用戶輸入的…

RTP打包與解包全解析:從RFC規范到跨平臺輕量級RTSP服務和低延遲RTSP播放器實現

引言 在實時音視頻系統中,RTSP(Real-Time Streaming Protocol)負責會話與控制,而 RTP(Real-time Transport Protocol)負責媒體數據承載。開發者在實現跨平臺、低延遲的 RTSP 播放器或輕量級 RTSP 服務時&a…

Ubuntu 用戶和用戶組

一、 Linux 用戶linux 是一個多用戶操作系統,不同的用戶擁有不同的權限,可以查看和操作不同的文件。 Ubuntu 有三種用戶1、初次創建的用戶2、root 用戶---上帝3、普通用戶初次創建的用戶權限比普通用戶要多,但是沒有 root 用戶多。Linux 用戶…

FastGPT社區版大語言模型知識庫、Agent開源項目推薦

? FastGPT 項目說明 項目概述 FastGPT 是一個基于大語言模型(LLM)的知識庫問答系統,提供開箱即用的數據處理和模型調用能力,支持通過可視化工作流編排實現復雜問答場景。 技術架構 前端: Next.js TypeScript Chakra UI 后…

jsencrypt公鑰分段加密,支持后端解密

前端使用jsencryp實現分段加密。 解決長文本RSA加密報錯問題。 支持文本包含中文。 支持后端解密。前端加密代碼: // import { JSEncrypt } from jsencrypt const JSEncrypt require(jsencrypt) /*** 使用 JSEncrypt 實現分段 RSA 加密(正確處理中文字符…

生成一份關于電腦電池使用情況、健康狀況和壽命估算的詳細 HTML 報告

核心作用 powercfg /batteryreport 是一個在 Windows 命令提示符或 PowerShell 中運行的命令。它的核心作用是:生成一份關于電腦電池使用情況、健康狀況和壽命估算的詳細 HTML 報告。 這份報告非常有用,特別是對于筆記本電腦用戶,它可以幫你&…

從 0 到 1 實現 PyTorch 食物圖像分類:核心知識點與完整實

食物圖像分類是計算機視覺的經典任務之一,其核心是讓機器 “看懂” 圖像中的食物類別。隨著深度學習的發展,卷積神經網絡(CNN)憑借強大的特征提取能力,成為圖像分類的主流方案。本文將基于 PyTorch 框架,從…

Python 值傳遞 (Pass by Value) 和引用傳遞 (Pass by Reference)

Python 值傳遞 {Pass by Value} 和引用傳遞 {Pass by Reference}1. Mutable Objects and Immutable Objects in Python (Python 可變對象和不可變對象)2. Pass by Value and Pass by Reference2.1. What is Pass by Value in Python?2.2. What is Pass by Reference in Python…

aippt自動生成工具有哪些?一文看懂,總有一款適合你!

在當今快節奏的工作與學習環境中,傳統耗時的PPT制作方式已難以滿足高效表達的需求。隨著人工智能技術的發展,AI自動生成PPT工具應運而生,成為提升演示文稿制作效率的利器。這類工具通過自然語言處理和深度學習技術,能夠根據用戶輸…

Langflow 框架中 Prompt 技術底層實現分析

Langflow 框架中 Prompt 技術底層實現分析 1. Prompt 技術概述 Langflow 是一個基于 LangChain 的可視化 AI 工作流構建框架,其 Prompt 技術是整個系統的核心組件之一。Prompt 技術主要負責: 模板化處理:支持動態變量替換的提示詞模板變量驗證…

前端、node跨域問題

前端頁面訪問node后端接口跨域報錯 Access to XMLHttpRequest at http://192.18.31.75/api/get?namess&age19 from origin http://127.0.0.1:5500 has been blocked by CORS policy: No Access-Control-Allow-Origin header is present on the requested resource. 這個報…

超越馬力歐:如何為經典2D平臺游戲注入全新靈魂

在游戲開發的世界里,2D平臺游戲仿佛是一位熟悉的老朋友。從《超級馬力歐兄弟》開啟的黃金時代到現在,這個類型已經經歷了數十年的演變與打磨。當每個基礎設計似乎都已被探索殆盡時,我們如何才能打造出一款令人耳目一新的平臺游戲?…

基于Springboot + vue3實現的時尚美妝電商網站

項目描述本系統包含管理員和用戶兩個角色。管理員角色:商品分類管理:新增、查看、修改、刪除商品分類。商品信息管理:新增、查看、修改、刪除、查看評論商品信息。用戶管理:新增、查看、修改、刪除用戶。管理員管理:查…

網絡協議之https?

寫在前面 https協議還是挺復雜的,本人也是經過了很多次的學習,依然感覺一知半解,無法將所有的知識點串起來,本次學習呢,也是有很多的疑惑點,但是還是盡量的輸出內容,來幫助自己和在看文章的你來…

word運行時錯誤‘53’,文件未找到:MathPage.WLL,更改加載項路徑完美解決

最簡單的方法解決!!!安裝Mathtype之后粘貼顯示:運行時錯誤‘53’,文件未找到:MathPage.WLLwin11安裝mathtype后會有這個錯誤,這是由于word中加載項加載mathtype路徑出錯導致的,這時候…

React實現列表拖拽排序

本文主要介紹一下React實現列表拖拽排序方法,具體樣式如下圖首先,簡單展示一下組件的數據結構 const CodeSetting props > {const {$t, // 國際化翻譯函數vm, // 視圖模型數據vm: {CodeSet: { Enable [], …