Đồ án tốt nghiệp Chữ ký số và dịch vụ chứng thực chữ ký số MỤC LỤC ! "! #$%&'($)#! *+$%,-! ./$%)012314$5647$! 829$):$%2;<2=>/)./$%4$? !2@A$2B$47$? ?2C$%,-D0<2EF)2G/A/,&H/I *6ADJAK *FLF)2FM&K **;$2$%2NEK *O$%,P$%Q *R)S#26AES2S:,P$%)./$%<2TUVS#W *!X<26AES2AY.R$% MA0)AZ* FLF)2FM&5[2MA0)AZ* *\=+2M)2#$%A0)AZ 0)AZU2@E=#F]^$% ZU2@E<_$%U2EF*W MA0)AZ`H%EAAE* *! *2TUVS#*! *FLF)2FM&5[<2TU' a S#*! **;$2$%2NE<2TUVS#*! *X<-&=FbA<cE<2TUVS#*! *d$2).e$%2FM$)eFfH&0)12X156)2g<)h*? *!i&').d$2)e/.E56UFbA).E<2TUV=FM$):*I **\=+<2TUV*Q **;$2$%2NES\=+<2TUV*Q ***2TUVS#j*Q **2TUV`H%EAEH **2TUVU2_$%<2#FDk* "lmnOo I p<2^<<2^$%)2g<H6%dqI *FLF)2FM&5[AR)S#)p<2^<<2^$%)2g<I ";<25P<2^$%)2g<<2TUVS#K d$22d$212X)).Fb$,;<25P<2^$%)2g<<2TUVS#).($)2h%FLF56YmM)EA Q Hà Thị Hồng Gấm Khoa CNTT- ĐHDLHP Đồ án tốt nghiệp Chữ ký số và dịch vụ chứng thực chữ ký số d$22d$2).Fb$U2EF).($)2h%FLFQ *2TUVS#YmFM)EA !6$2HE$%12X1HV mr"P2^$%)2g<AE<./)./$%s/.,56`]<GHDt$%<2TUV=FM$):! uvQ wx!W Hà Thị Hồng Gấm Khoa CNTT- ĐHDLHP * Đồ án tốt nghiệp Chữ ký số và dịch vụ chứng thực chữ ký số LỜI CẢM ƠN. `A]F$<2B$)26$2<XA\$S(82(_y$%-zFH&_$<2{D>/|2-L$%,}$| <&$%<~1$2T$%)6FHFM&•&VDX&)./$%•&X).d$22€<562/6$)26$2=+X$$6' `A]F$<XA\$<X<)29'<_%FX/)./$%U2/E<_$%$%2M)2_$%)F$y).-z$%"" >F82•$%56%FE=d$2=Z)e/=F[&UFM$%F‚1=ƒ5[50)<2~)<„$%$2-)F$2)29$=bGA <@)2b2€<)01)#)562/6$)26$2=+X$$6' F$25F($ 62;+$%~A Hà Thị Hồng Gấm Khoa CNTT- ĐHDLHP Đồ án tốt nghiệp Chữ ký số và dịch vụ chứng thực chữ ký số MỞ ĐẦU 6$%$%6'<2‚$%)E5}$2E',…$%<2TUV=b]X<AF$2AR)5~$=[|2E'=b]X<$20$ •&'[$<cEAd$2=#F5LFAR)50))2_$%•&E$2T$%%F~')z2/C<H6AR)231=+$%$6/=@ 2†$%2e$$2-).($AR)D^<)2-$20$)F[$)‡$%B$26$%|2E'$2T$%231=+$%UVUh)A&E DX$|<2&'b$$2-3$%2T$%<2TUV$2-50'<•$%€FH6<2TUV5Fh))E'|DYF$@=-3<5Fh)DYF <2r$2)E'$%-zFUVU2_$%)2bSE/<2P1=-3<2_$%)2-z$%<2TUV5Fh))E').($<X<5J$D>$| ).($<X<)6FHFM&2E').($<X<231=+$%UF$2)h55)2d=-3<,…$%=b]X<$20$$%-zFUV $@ %6'$E'U2FSg12X)).Fb$<cEF$)G.$G)56<_$%$%2M)2_$%)F$$%6'<6$%<E/Z<2/ 12ˆ1<2‚$%)E)2g<2FM$$2T$%%FE/,;<2=FM$):)2_$%•&EF$)G.$G)|$2-$%)r$2HF$22/e)<cE F$)G.$G)<„$%)e/<\2RF<2/‰D($)2^DEŠ<@)2b)2g<2FM$<X<26$2=R$%D~)23112X1$2- $%2G).RA|%F>Ae/|Ae/,E$2"/50'=b=>AD>/E$)/6$)./$%<X<)2-\$%AeF=FM$):56 <X<%FE/,;<2=FM$):<9$<@<X<2d$2)2^<D>/A0)<@2FM&•&>$2~)<_$%$%2M12pDFh$2FM$ $E'=-3<S:,P$%H6<2TUVS# ‡$2T$%5~$=[E$)/6$5[%FE/,;<256)r$2)-\$%=+$%56231HV<cE<2TUVDt$%)E')2d <2TUV=FM$):.E=zF</$2T$%$ˆ)=C<).-$%<cE<2TUVDt$%)E'2-$%)2_$%)F$).($AX' )r$2H&_$=-3<SE/<2ˆ1AR)<X<2,‹,6$%5FM<)2E'=pF2/C<=X$2<Œ1)2_$%)F$<cEAR)5J$ D>$H6.~)=\$%F>$|<X<2S:,P$%2d$2>$2<cE<2TUVDt$%)E'U2_$%)2bX1,P$%56/=-3< ,/50')e/.EAR)<2TUVS#$%-zF)E12>FX1,P$%$2T$%<_$%$%2M$2-AZ2@E|<2^$% )2g<• +X$$6'=[<01)LF5~$=[<2TUVS#56,;<25P<2^$%)2g<<2TUVS# +X$%+A<2-\$% 2-\$%\SY)/X$2€<<cE<2TUVS# ./$%<2-\$%$6'=[<01)LF<X<U2XF$FMA)/X$2€<56<\SY)/X$<cE<2TUV=FM$): 2-\$%2TUVS# ./$%<2-\$%$6')E)dA2Fb&<2F)Fh)5[<2TUVS#56AR)56F12-\$%12X1UV 2-\$%";<25P<2^$%)2g<<2TUVS# dA2Fb&5[,;<25P<2^$%)2g<<2TUVS#56)d$22d$2).Fb$U2EF,;<25P$6').($)2h%FLF56 YmFM)EA mŽ"n2^$%)2g<AE<./)./$%s/.,56`]<GH Hà Thị Hồng Gấm Khoa CNTT- ĐHDLHP Đồ án tốt nghiệp Chữ ký số và dịch vụ chứng thực chữ ký số CHƯƠNG 1: CƠ SỞ TOÁN HỌC CỦA CHỮ KÝ SỐ 1 SỐ HỌC MODUL 1.1. Số nguyên tố ;$2$%2NE #$%&'($)#H6S#$%&'($,-\$%<2{<2FE2h)<2/56<2r$2$@ r$2<2~) • F>S:1H6S#$%&'($)#561•ED)2d1•E2/C<1•D2/C<<>2EF=[&<2FE2h)<2/1 • @5_S#S#$%&'($)# 1.2. Đồng dư ;$2$%2NE h&E56DH62EFS#$%&'($|U2F=@E=-3<%€FH6=+$%,-5LFD)2G/A/,&H/$|=-3<5Fh)E ≡ D•A/,$‘$h&•EfD‘<2FE2h)<2/$|56$=-3<%€FH6A/,&H&S<cE=+$%,- mr,P * ≡ Q•A/,!‘5d*yQ’7! f ≡ I•A/,I‘5dfyI’f7I r$2<2~) • E ≡ D•A/,$‘|$h&56<2{$h&E56D=[&).>S#,-$2-$2E&U2F=GA<2FE<2‚$%<2/$ • E ≡ E•A/,$‘r$212>$]e • h&E ≡ D•A/,$‘)2dD ≡ E•A/,$‘r$2=#F]^$% • h&E ≡ D•A/,$‘56D ≡ <•A/,$‘)2dE ≡ <•A/,$‘r$2DŒ<<9& • h&E ≡ E •AA/,$‘56D ≡ D •A/,$‘)2dE“D ≡ E “D •A/,$‘ • h&E ≡ E •AA/,$‘56D ≡ D •A/,$‘)2dE7D ≡ E 7D •A/,$‘ 1.3 Trong tập hợp Z n và Z * n EUr2FM&”W||*|••|$f• ≡ 4 $ 014 $ <@)2b=-3<</FH6)01231)~)<>HL1)-\$% =-\$%).($4 $ )2G/A/,&H/$.($)014 $ <X<12ˆ1)/X$<R$%|).‡|$2B$=-3<)2g<2FM$)2G/ A/,&H/$ mr,P4 *! ’”W||*||*•./$%4 *! “?’DYF5d“?’*Q≡•A/,*!‘ -\$%)g|7?’K)./$%4 *! 4 7 $ ’”1∈4 $ ••$|1‘’• mr,P4 * ’”W|• Hà Thị Hồng Gấm Khoa CNTT- ĐHDLHP ! Đồ án tốt nghiệp Chữ ký số và dịch vụ chứng thực chữ ký số 4 7 $ ’”•5d•|*‘’ 1.4. Phần tử nghịch đảo trong Z n 2/E∈4 $ %2;<2=>/$2B$<cEE)2G/A/,&H/$H6AR)S#$%&'($]∈4 $ SE/<2/E7]≡ •A/,$‘h&)+$)eF)2d=@H6%FX).;,&'$2~)56E%€FH6U2>=>/|$%2;<2=>/<cEEUV2FM&H6 E f r$2<2~) 2/E|D ∈ 4 $ |E–DA/,$’ED f A/,$=-3<]X<=;$2U2F56<2{U2FDH6U2>$%2;<2)2G/ A/,&H/$5LFE ∈ 4 $ |129$):EH6U2>$%2;<2U2F56<2{U2F%<,•E|$‘’ M•&> 2/,’%<,•E|$‘2F=@12-\$%).d$2=+$%,-<@,e$%E] ≡ DA/,$S—<@$%2FMA]U2F56 <2{U2FD<2FE2h)<2/, 2&0))/X$r$2129$):$%2;<2=>/).($4 $ 8E ∈ 4 $ 8E f A/,$|$h&)+$)eF :,P$%)2&0))/X$`&<HF,GAY.R$%|)dA]56'=bE]“$'’,|)./$%=@%<,•E|$‘ h&,˜|)2dE f A/,$U2_$%)+$)eF|$%-3<HeFUh)•&>] 1.5. Nhóm nhân Z * n ;$2$%2NE 2@A$2B$<cE4 $ UV2FM&H64 7 $ ’”E∈4 $ •%<,•E|$‘’•C<DFM)|$h&$H6S#$%&'($)#)2d 4 7 $ ’”E•≤E≤$f• 014 7 H01)26$2AR)$2@A</$=#F5LF12ˆ1$2B$<cE4 $ 5d)./$%4 7 $ 12ˆ1<2FE)2G/A/,&H/ $DE/%Fz<„$%)2g<2FM$=-3< r$2<2~) 2/$≥*H6S#$%&'($ •F‘;$2HV`&HG.h&E∈4 7 $ )2dE φ •$‘ ≡•A/,$‘ •FF‘h&$H6)r<2<cE<X<S#$%&'($)#12B$DFM)56$h&.≡S•A/,φ•$‘‘)2dE ) ≡E S •A/,$‘5LF A€FS#$%&'($E@F<X<2U2X<|H6A5FM<5LF<X<S#)2G/A/,&H/$%&'($)#1)2dS#A„<@ )2b%F>A)2G/A/,&H/φ•$‘ r$2<2~)* 2/S#$%&'($)#1 ;$2HV™G.AE)h&%<,•E|1‘’)2dE 1f ≡•A/,1‘ Hà Thị Hồng Gấm Khoa CNTT- ĐHDLHP ? Đồ án tốt nghiệp Chữ ký số và dịch vụ chứng thực chữ ký số h&.≡S•A/,1f‘)2dE ) ≡E S •A/,1‘5LFA€FS#$%&'($E@F<X<2U2X<|H6A5FM<5LF<X< S#)2G/A/,&H/$%&'($)#1)2dS#A„<@)2b%F>A)2G/A/,&H/1f C<DFM)|E 1 ≡E•A/,1‘5LFA€FS#$%&'($E 1.6. Thặng dư bậc hai theo modulo ;$2$%2NE 2/E ∈ 4 7 $ |E=-3<%€FH6)2C$%,-D0<2EF)2G/A/,&H/$|$h&)+$)eFAR)] ∈ 4 7 $ |SE/<2/] * ≡ EA/,$|56$h&U2_$%)+$)eF]$2-50')2dE=-3<%€FH6D~))2C$%,-D0<2EF)2G/ A/,&H/$|01<X<)2C$%,-D0<2EFUV2FM&H6i $ 56)01<X<D~))2C$%,-D0<2EFUV2FM&H6 n Q r$2<2~) 2/1H6$%&'($)#Hš56 α H6129$):SF$2<cE4 7 1 |)2dE ∈ 4 7 1 H6)2C$%,-D0<2EFA/,&H/1 U2F56E’E F A/,1 2&0))/X$r$2H&›)2‡E)2G/A/,&H/$)./$%4 $ 8E ∈ 4 $ |S#$%&'($W ≤ U ≤ $)./$%=@UDFb&,F‹$,e$%$2;12B$U’ i t i i k * W ∑ = 8E U A/,$ C)D ← |$h&U’W)2dUh)•&>D * C) ← E h&U W ’|)2d=C)D ← E mLFAœF)‡=h$)|)2g<2FM$$2-SE& C) ← * A/,$ *h&U F ’|)2dD ← DA/,$ ! h)•&>D mr,P•>$%,-LF=B'A_)><X<D-L<)2g<2FM$=b)r$2H&›)2‡E)2G/modulo 1234<cE12ˆ1 )r$25 596 mod 1234 = 1013 F 0 1 2 3 4 5 6 7 8 9 U F 0 0 1 0 1 0 1 0 0 1 5 25 625 681 1011 369 421 779 947 925 D 1 1 625 625 67 67 1059 1059 1059 1013 82ˆ1)/X$ R12^<)e1 82ˆ1<R$%A/,&H/ •E“D‘A/,$ •H$$‘ 82ˆ1).‡A/,&H/ •EfD‘A/,$ •H$$‘ 82ˆ1$2B$A/,&H/ •ED‘A/,$ ••H$$‘ * ‘ Hà Thị Hồng Gấm Khoa CNTT- ĐHDLHP I Đồ án tốt nghiệp Chữ ký số và dịch vụ chứng thực chữ ký số 82ˆ1H~'$%2;<2=>/ E f A/,$ ••H$$‘ * ‘ 82ˆ1)r$2H„')2‡EA/,&H/ E U A/,$|Už$ ••H$$‘ ‘ 2. Hàm băm 2.1. Giới thiệu 2G/<X<S\=+<2TUV)2d<2TUV<cE)2_$%=FM1<„$%<@=R,6FDt$%=R,6F<cE)2_$% =FM1|=@H6AR)=F[&D~))FM$EA/$%A&#$$2-)./$%).-z$%231<2TUV5Fh))E'|<2TUV<@ =R,6F$%Œ$562e$<2h<2/,…5J$D>$<@=R,6FDt$%DE/$2F(&md<2TUVS#=-3<UV<2/ )‡$%DF)<cE)2_$%=FM1|$h&A&#$<2TUV<@=R,6F2e$<2h).($)2_$%=FM1<@=R,6F)…'V )2d)E12>F)dA<X<2.‚)%€$=R,6F)2_$%=FM12-$%D>$)2B$)2_$%=FM1U2_$%)2b.‚)$%Œ$ =-3<|$($<2{<•$<X<2H6)dA<2/AœF)2_$%=FM1AR))2_$%=FM1)2&%€$<@=R,6F2e$<2h 56)2E'5FM<UV).($)2_$%=FM1|)EUV).($)2_$%=FM1)2&%€$ b%F>F•&'h)5~$=[$6')ES:,P$%26ADJA|<2~1$20$AR))2_$%=FM1<@=R,6F)&Ÿ VH6A=9&56/6ADJAS—DFh$=pF)2_$%=FM1$6')26$2AR))2_$%=FM1.‚)%€$56SE&=@ S—,…$%H-3<=+UV=bUVH($)2_$%=FM1.‚)%€$=@ 2.2. Định nghĩa 6AES2H626A)r$2)/X$<@2FM&•&>U2FX$2]e<X<,•$%$2;12B$<@=R,6F)…'V)26$2 $2T$%,•$%$2;12B$<@=R,6F<#=;$2$6/=@ f6AES2'h&26AES2%€FH6'h&$h&<2/AR))2_$%DX/])2d5[AC))r$2)/X$U2_$% )dA.E=-3<)2_$%DX/] U2X<]SE/<2/ 2•] ‘’2•]‘ f6AES2Ae$226AES2=-3<%€FH6Ae$2$h&5[AC))r$2)/X$U2_$%)dA.E=-3<2EF )2_$%DX/]56] SE/<2/ ] ≠ ] * 562•] ‘’2•] * ‘ @F<X<2U2X<|)dA2EF5J$D>$U2X<$2E&<@<…$%AR)=eF,FM$H6<g<UŸU2@ 6AES212>FH626AAR)12rE|$%2NEH6<2/])r$2¡’2•]‘)2d,‹|$2-$%$%-3<HeF|DFh)¡ )r$2]H6<_$%5FM<<g<U2@ 6AES2'h&H6A<2/<2TUV).YH($)F$<0'%F#$%$2-5FM<UV).($)/6$)2_$%DX/ 6AES2Ae$2<@)X<,P$%<2#$%HeFUš%F>Ae/)e/.E2EFD>$)2_$%DX/<@$RF,&$%U2X< $2E&|SE&=@)2&$20$<2TUV23112X1<2/AR)D>$)2_$%DX/,‹=-3<]X<$20$.+FH~'$@ %F>Ae/H6A<2TUV<cE)2_$%DX/)2^*2E'$@F<X<2U2X<)dA*5J$D>$U2X<$2E&<@<…$% AR)=eF,FM$H6<g<UŸU2@ R)26ADJA)#)12>F)2kEAZ$<X<=F[&UFM$SE& Hà Thị Hồng Gấm Khoa CNTT- ĐHDLHP K Đồ án tốt nghiệp Chữ ký số và dịch vụ chứng thực chữ ký số • r$2)/X$$2E$2 • X<U2/X=-3<12B$D#=[&)./$%D>$% • Ž)]>'.E=P$%=R • ¢:HV=-3<<X<H/eFU2@E<@UFb&,THFM&U2X<$2E& 2.3 Ứng dụng X<26ADJA=-3<^$%,P$%)./$%$2F[&HN$25g<|<2‚$%)2-z$%=-3<)2Fh)Uh12…231 5LF)‡$%^$%,P$%mr,P|<X<26ADJAA0)AZ2€<%F>)2Fh)Sg)+$)eF<cEAR)=#F12-\$%f $%-zF<@)2b<#)d$2)dA<X<,THFM&56/5LF<…$%AR)%FX).;DJAR)26ADJA)#)H6AR) 12ˆ1DFh$=pF£AR)<2F[&£|$%2NEH6U2_$%<@AR)12-\$%12X1)2g<)F‹$=b)r$2)/X$=-3< ,THFM&56/$6/=@)-\$%^$%5LF%FX).;DJAA/$%A&#$|U2F=@5FM<%F>Ae/S—.~)U2@ U2J$R)26AAR)<2F[&A0)AZ2€<=Fb$2d$2U2_$%<@)r$2<2~)26A=\$X$256)e/$($ AR)26ADJA2FM&•&>¤AR)26A).E1,//.A0)AZ2€<=Fb$2d$2H626A=\$X$256)e/$($ AR)26A$%}&$2F($2FM&•&> •>$%DJA|AR)^$%,P$%•&E$).€$%<cE<X<26ADJA|<2/12ˆ1).E<^&$2E$2AR)D>$ %2F,THFM&$h&<2/).-L<U2@E<cED>$%2F=@•-&V<X<U2@E$6')2-z$%U2_$%DrA0) $2-)./$%A0)AZ2€<|$2-$%<>2EF=[&=-3<,…$%=b£AYU2@E£2/C<=b).&'$201)2_$% )F$‘mr,P|<X<U2@E)./$%AR))‡=Fb$=FM$):$2f$2<@)2bH6<X<)‡)Fh$%$2|<X<D>$ %2F)-\$%^$%5LF<2‚$%<2^E<X<=;$2$%2NE./$%).-z$%231$6'|26ADJA12>FX$2]e <X<]B&<2T<XF)LF<X<<2{AP<<cEA>$%$RFDR<cED>$%DJA X<26ADJA,6$2<2/5FM<12X)2FM$56S:EHœF)01).&$%12B$DFM)<X<).-z$%231A6 ,THFM&=ZD;H6A$2F‹&DYF<X<•&X).d$2$%}&$2F($2F<X<26ADJA=-3<,…$%<2/<X< %FX).;)p$%UFbA|%FX).;DJA)-\$%=#F$2k<@)2b=-3<,…$%=bUFbA<2^$%.t$%AR)¥FHG ,THFM&<@Ur<2)2-L<)…'V<2-ED;S:E=pF6ADJA=-3<,…$%=b12X)2FM$HœF).&'[$,T HFM&eF$\F%:F|26ADJA=-3<)r$2<2/,THFM&=-3<%:F|%FX).;DJA$6'=-3<%:F<…$%,T HFM&eF=9&$20$|26ADJAHeF=-3<)r$2H9$$TE|$h&<X<%FX).;DJAU2_$%).…$%$2E&)2d HœF=Z]>'.EY=B&=@)./$%•&X).d$2).&'[$mFM<$6'=-3<%€FH6UFbA).E,-•.G,&$,E$<' <2G<U‘ X<26ADJA<•$=-3<^$%,P$%)./$%5FM<$20$,e$%BA)2E$2|<2†$%2e$$2-]X< =;$2]GAAR)¥FHG8 <@U2L15LFAR)¥FHG)./$%,E$2SX<2AR)H/eF<X<¥FHGU2X<2E' U2_$% Hà Thị Hồng Gấm Khoa CNTT- ĐHDLHP Q Đồ án tốt nghiệp Chữ ký số và dịch vụ chứng thực chữ ký số 2&0))/X$)dAUFhA]B&jEDF$fE.1 H6AR))2&0))/X$)dAUFhA]B&Ur)g )-\$%=#F $2E$2|5LF)2zF%FE$<2e').&$%Dd$2•$‘2&0))/X$$6',gE).($5FM<S:,P$%DJA=bS/ SX$2]B& 2.4. Một số hàm Hash sử dụng trong chữ ký số 2.4.1. Các hàm Hash đơn giản: ~)<><X<26AES2=[&=-3<)2g<2FM$)2G/•&')Œ<<2&$%H69&56/=-3<DFb&,F‹$ ,-LF,e$%AR),Z'<X<U2#F$DF)|<X<U2#F$DF)$6'=-3<]:HV)2G/<…$%AR)UFb&56HC1=F HC1HeF=b<&#F<…$%<2/=9&.E<@S#DF)<#=;$2 6AES2=\$%F>$$2~)H6)2g<2FM$12ˆ1)/X$¢j)‡$%DF)AR)<cEAœFU2#F@=-3< DFb&,F‹$$2-SE& F ’D F ⊕D *F ⊕•⊕D AF ./$%=@ F H6DF))2^F<cEAZES2|F’ n| AH6S#<X<U2#F=9&56/ D ¦F H6DF))2^F)./$%U2#F)2^¦ ⊕H612ˆ1<R$%A/,&H/* \=+26AES2S:,P$%12ˆ1¢j 2#F D D * • D $ 2#F* D * D ** • D *$ • • • • • 2#FA D A D A* • D A$ ZES2 * • $ F H6DF)UFbA).E)r$2<2§$Hš<2/5;).r)2^FU2F)E<2FE)M1,THFM&)26$2)‡$%U2#F|AœF U2#F</$5;).r@<@)X<,P$%$2-SgUFbA).E)p$%)2b)r$2)/6$5¨$<cE,THFM& 2FAZ2@EAR))2_$%DX/,6F)2d)ES:,P$%A/,G••2GF12G.•H/<U2EF$F$%‘| )2g<2FM$$2-SE& F>S:)2_$%DX/¢=-3<<2FE)26$2<X<U2#F?DF)HF($)Fh1 ¢’¢ ¢ * •¢ $ 2F=@AZES2S—H6 ’¢ ’¢ ⊕¢ * ⊕•⊕¢ $ E&=@AZ2@E)/6$DR)2_$%DX/$#F5LFAZES2)2G/A/,G•S>$SF$2.ED>$AZ Hà Thị Hồng Gấm Khoa CNTT- ĐHDLHP W