毛淑寧 (郵編:315608)
浙江省寧波市寧海縣黃壇鎮初級中學
《義務教育數學課程標準(2022年版)》指出:數學課程要培養的學生核心素養主要包括“會用數學的眼光觀察現實世界、會用數學的思維思考現實世界、會用數學的語言表達現實世界”三個方面.[1]因此筆者在核心素養“三會”目標的導向下開展“如何設計與破解密碼”項目學習實踐:學生從實際情境中提出驅動性問題“如何設計與破解密碼?”,之后小組合作研究四類密碼,最后為學校數學文化節設計解密游戲.在此過程中,發展數學核心素養(抽象能力、推理能力、運算能力、應用意識、創新意識等)、跨學科素養(密碼學、英語、信息技術等)與團隊協作素養.

圖1 項目學習案例設計框架
本項目學習內容屬于初中“數與代數”領域.學生研究的愷撒密碼(加法密碼)、乘法密碼、仿射密碼、因式分解密碼等四類密碼涉及實數運算、代數式運算、二元一次方程、因式分解等數學知識,“一一對應”的映射思想,以及密碼學、英語、信息技術等跨學科知識.
本項目學習適用于七年級學生,他們已經具備所需的數學、英語等知識.而且學生對密碼學有強烈的好奇心和探究欲,能夠積極主動地參與到本項目學習中.
目標1觀察現實情境,提出本項目學習的驅動性問題“如何設計與破解密碼”,提高發現和提出問題的能力,學會用數學的眼光觀察現實世界.
目標2通過小組合作,靈活運用實數運算、代數式運算、二元一次方程、因式分解等數學知識和英語、信息技術、密碼學等跨學科知識研究愷撒密碼(加法密碼)、乘法密碼、仿射密碼、因式分解密碼等四類密碼,學會用數學的思維思考現實世界,提高推理能力、運算能力、分析與解決問題的能力,提升團隊協作素養.
目標3為學校的數學文化節設計解密游戲, 學會用數學的語言表達現實世界,增強應用意識與創新意識.
本次項目學習分為入項、研項、出項三個階段.
學生在諜戰片中經常看到這樣的情節:在傳遞情報的過程中,間諜會想盡各種辦法隱藏情報的真實內容,即使敵人截獲情報也無法看懂,從而確保了信息安全.由此提出問題:如何設計與破解密碼?全班學生對此問題充滿好奇心與探究欲,以此作為驅動性問題開展項目學習.
設計意圖諜戰片和密碼都是學生感興趣的話題,學生從實際情境中抽象出數學問題,提高發現和提出問題的能力,學會用數學的眼光觀察現實世界,同時也能夠激發對數學的學習興趣.
環節1了解密碼學的基本概念
學生發現浙教版數學教材七年級下冊第4章有因式分解密碼,全國各地初中的期中試卷、期末試卷甚至中考卷也出現“密碼”相關試題.學生通過查閱資料了解密碼學的基本概念:密碼學是研究如何隱密地傳遞信息的學科,是研究編制密碼和破譯密碼的技術科學,它涉及的學科包括數學、計算機科學、信息論等.如圖2所示,在通信過程中,信息發送者通過某種特定的算法對明文(未加密的能夠直接代表原文含義的信息)進行加密使其變成密文(已加密的隱藏原文含義的信息)再將密文傳輸給信息接收者.這種特定的算法用到的關鍵數據稱為密鑰(用于加密解密算法的秘密參數),信息發送者將密鑰告知給信息接收者,那么信息接收者就能夠快速準確地將密文解密成明文.而其他人不知道密鑰,所以就很難破解密文,這樣就確保了通信安全.

圖2 密碼學的基本概念
環節2學生小組合作分別研究四類密碼
全班學生分為8個小組,通過閱讀教師提供的資料以及上網搜索資源等方式分別研究四類密碼:第1,2組研究愷撒密碼(加法密碼);第3,4組研究乘法密碼;第5,6組研究仿射密碼;第7,8組研究因式分解密碼.
環節3各小組交流分享研究成果
每個小組派代表上臺分享研究成果,包括密碼簡述、加密解密樣例和其他相關內容,使全班學生都掌握這四類密碼.以下為各組分享內容:
(1)愷撒密碼(加法密碼)
愷撒密碼是2000多年前羅馬帝國的愷撒大帝與將軍們交換信息時使用的密碼.在愷撒密碼中,明文中的所有字母在字母表中按照固定數目移動后被替換成密文,也稱為加法密碼.如表1所示,26個字母分別對應數字1-26.如圖3所示,若約定密鑰為“7”,在對字母c進行加密時,首先觀察到它在字母表中對應數字3,接著進行運算3+7=10,數字10對應字母j,所以字母c加密后變成字母j.在對y加密時,它對應25,進行運算25+7=32,但是32不在1-26范圍內.有學生提出字母表是以26為周期的循環,所以32等價于6,6對應f,所以y加密后變成f.還有學生通過查閱資料發現這是關于26的模運算,即32≡6(mod 26).根據加法與減法運算的互逆關系,在對k解密時,它對應11,進行運算11-7=4,4對應d,所以k解密后變成d.在對a解密時,它對應1,進行運算1-7=-6,但是-6不在1-26范圍內.有學生提出:在以26為周期的循環中,-6等價于20,數字20對應字母t,所以a解密后變成t.還有學生提出:1等價于1加26的整數倍,可以利用方程進行解密,“□+7=1+26△”其中□表示明文字母對應的數字(1-26范圍內),△表示整數.這個二元一次方程的結果是□=20,△=1,所以明文字母對應的數字是20,明文字母為t.

表1 字母與數字對照表

圖3 愷撒密碼加密與解密案例
一位學生給出密鑰為7的愷撒密碼密文“kv vul aopun ha h aptl, huk kv dlss.”,其他學生破譯出明文“Do one thing at a time, and do well.”其含義為:一次只做一件事,做到最好.
在不知道密鑰的情況下,如何破解愷撒密碼呢?第1組學生制作了愷撒密碼盤(如圖4),外圈是明文字母,內圈是密文字母,二者一一對應,只需要轉動內部的輪盤,就可以輕松地加密解密,最多嘗試26次就能夠破解愷撒密碼.第2組學生利用Python編寫程序,在計算機的幫助下快速破解愷撒密碼.
(2)乘法密碼
乘法密碼是將明文的字母所對應數字乘某個特定數字后被替換成密文.如圖5,若約定密鑰為“3”,在對a加密時,它對應1,進行運算1×3=3,3對應c,所以a加密成c.在對r加密時,它對應18,進行運算18×3=54,在以26為周期的循環中,54等價于2,2對應b,所以r加密成b.根據乘法與除法運算的互逆關系,在對x解密時,它對應24,進行運算24÷3=8,8對應h,所以x解密成h.在對h解密時,它對應8,學生進行運算8÷3=8/3,不是整數怎么辦呢?有學生提出8等價于8加26的整數倍,利用方程進行解密,“□×3=8+26△”其中□表示明文字母對應的數字(1-26范圍內),△表示整數.這個二元一次方程的結果是□=20,△=2,所以明文字母對應的數字是20,明文字母為t.學生發現若密鑰為“3”,則每個字母的加密結果是不同的,所以“3”是好密鑰.但是若密鑰為“2”,則有些字母的加密結果是一樣的(例如a,n加密結果均為b),所以“2”是壞密鑰.學生通過嘗試、猜想、驗證的方式發現:與26互質的數字是乘法密碼的好密鑰,其他數字為壞密鑰.
一位學生給出密鑰為3的乘法密碼密文“hqs xocle cbo fohhob hxcp spo.”,其他學生破譯出明文“Two heads are better than one.”其含義為:三個臭皮匠頂個諸葛亮,強調團結合作的必要性.
(3)仿射密碼
仿射密碼是加法密碼與乘法密碼的結合.先選擇乘法密碼的一個好密鑰a(a與26互質),再選擇加法密碼的一個密鑰b,那么數對(a,b)為仿射密碼的一個密鑰.利用它加密時,先乘a,再加b,接著關于模26化簡.如圖6,若約定密鑰為(3,7),在對a加密時,a對應1,計算1×3+7=10,10對應j,所以a加密為j.在對r加密時,r對應18,計算18×3+7=61,在以26為周期的循環中,61等價于9,9對應i,所以r加密為i.在對n解密時,n對應14,可以利用二元一次方程“3×□+7=14+26△”其中□表示明文字母對應的數字(1-26范圍內),△表示整數.這個方程的結果是□=11,△=1,所以明文字母對應的數字是11,明文字母為k.

圖6 仿射密碼加密與解密案例

圖7
(4)因式分解密碼
因式分解密碼需要編制密碼本(如表2),使每個漢字對應一個代數式,若要對“富強民主”加密,先在密碼本中找到這四個漢字對應的代數式分別為:11,m,m+n,m-n,接著利用整式乘法進行運算:11m(m+n)(m-n)=11m3-11mn2,所以“富強民主”加密為“11m3-11mn2”.若要對“xym2-xy”解密,先對其因式分解xym2-xy=xy(m+1)(m-1),接著在密碼本中找到x,y,m+1,m-1這四個代數式對應的漢字,所以“xym2-xy”解密為“文明和諧”.如表3所示,學生將社會主義核心價值觀進行加密解密,增強對社會主義核心價值觀的情感認同并融入到行為習慣中.

表2 密碼本

表3 因式分解密碼加密與解密案例
環節4歸納總結
學生在教師的指導下進行總結,四類密碼涉及實數運算、代數式運算、二元一次方程、因式分解等七年級數學知識,“一一對應”的映射思想,以及密碼學、英語、信息技術等跨學科知識.
設計意圖在研項階段,學生先了解密碼學的基本概念,再小組合作、交流分享四類密碼,接著由師生共同總結四類密碼.學生學會用數學的思維思考現實世界,提高了推理能力、運算能力、分析與解決問題的能力以及團隊協作素養.此過程充分凸顯學生的主體地位,而教師在恰當的時機為學生提供學習支架,發揮主導作用.
每個小組為學校的數學文化節設計一份解密游戲方案,由學生和教師一起選出最受歡迎的方案.按照此方案將本班級布置成為解密游戲場館,在數學文化節時邀請其他班級學生來體驗解密之旅.
設計意圖學生將項目學習的成果公開展現在全校師生面前,收獲成就感和滿足感,提升數學學習的自信心.
本項目學習的評價貫穿于整個項目過程,既關注項目成果,更關注學生個體與團隊的學習過程,具有多元化的評價主體(教師、學生、家長等)、多樣化的評價方式(形成性評價與終結性評價、定量評價與定性評價等)、多種評價工具(評價量規、數學題、項目化作業、學習單等).
從學習目標分析,本項目學習緊密圍繞“三會”目標開展“入項、研項、出項”三階段,致力于讓學生學會用數學的眼光觀察現實世界,會用數學的思維思考現實世界,會用數學的語言表達現實世界,符合新課標對數學課程目標的要求.
從學習內容分析,現代密碼學的算法對于初中學生來說太深奧,所以本項目學習選擇愷撒密碼(加法密碼)、乘法密碼、仿射密碼、因式分解密碼這四類最簡單的密碼進行研究,其中涉及的知識與方法都在七年級學生可接受的范圍內,符合課標對教學內容的要求.
從學習方式分析,本項目學習以問題解決為導向,整合數學與密碼學、英語、信息技術等學科的知識和思想方法,讓學生從數學的角度觀察與分析、思考與表達、解決與闡釋社會生活以及科學技術中遇到的現實問題,感受數學與其他學科領域的融合,積累數學活動經驗,體會數學的科學價值,提高發現與提出問題、分析與解決問題的能力,發展應用意識、創新意識和實踐能力.[1]
學生對密碼學非常感興趣,積極主動地參與到本項目學習中,體會數學在生活中的廣泛應用,獲得四基,發展四能,提升數學核心素養、跨學科核心素養以及團隊協作素養,提高對數學學習的興趣和自信心,而且學生在解決“密碼”相關試題時也更加得心應手.另外,學生設計的密碼包含社會主義核心價值觀與勵志的名人名言等,是對學生品格的熏陶.