Branch: Tag:

2014-06-02

2014-06-02 19:09:19 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.BlockCipher: Added new mode: PCBC.

This adds support for the Propagating Cipher Block Chaning mode, which
is a modified variant of CBC.

38:    "Calendar.TimeRange": "predef::ADT.CritBit.DateTree.decode_key":1, "predef::Calendar.Stardate.cTick":1, "predef::Parser.RCS.Revision":1,    "Calendar_I.time_unit": "predef::Calendar_I.Gregorian.Year":1,    "Cipher16": "predef::Nettle.BlockCipher16.GCM":1, -  "Cipher::State": "predef::Nettle.AES.State":1, "predef::Nettle.ARCTWO.State":1, "predef::Nettle.BLOWFISH.State":1, "predef::Nettle.BlockCipher.CBC.State":1, "predef::Nettle.BlockCipher.CBC.State.create":1, "predef::Nettle.BlockCipher.CBC.State.substate_factory":2, "predef::Nettle.BlockCipher16.GCM.State.create":1, "predef::Nettle.BlockCipher16.GCM.State.substate_factory":2, "predef::Nettle.CAMELLIA.State":1, "predef::Nettle.CAST128.State":1, "predef::Nettle.CHACHA.State":1, "predef::Nettle.DES.State":1, "predef::Nettle.DES3.State":1, "predef::Nettle.IDEA.State":1, "predef::Nettle.SALSA20.State":1, "predef::Nettle.SERPENT.State":1, "predef::Nettle.Twofish.State":1, +  "Cipher::State": "predef::Nettle.AES.State":1, "predef::Nettle.ARCTWO.State":1, "predef::Nettle.BLOWFISH.State":1, "predef::Nettle.BlockCipher.CBC.State":1, "predef::Nettle.BlockCipher.CBC.State.create":1, "predef::Nettle.BlockCipher.CBC.State.substate_factory":2, "predef::Nettle.BlockCipher.PCBC.State.create":1, "predef::Nettle.BlockCipher16.GCM.State.create":1, "predef::Nettle.BlockCipher16.GCM.State.substate_factory":2, "predef::Nettle.CAMELLIA.State":1, "predef::Nettle.CAST128.State":1, "predef::Nettle.CHACHA.State":1, "predef::Nettle.DES.State":1, "predef::Nettle.DES3.State":1, "predef::Nettle.IDEA.State":1, "predef::Nettle.SALSA20.State":1, "predef::Nettle.SERPENT.State":1, "predef::Nettle.Twofish.State":1,    "Cipher::block_size()": "predef::Nettle.AEAD.State.block_size":1,    "Cipher::name()": "predef::Nettle.AEAD.State.name":1,    "CipherState": "predef::Crypto.Buffer.create":1, "predef::Crypto.CBC.create":1,
75:    "File.statat()": "7.8::Stdio.File.openat":1,    "File.unlinkat()": "7.8::Stdio.File.openat":1,    "ForkFd": "predef::Tools.Standalone.forkd.FdStream":1, -  "GCM": "predef::Crypto":1, "predef::Nettle.BlockCipher.CBC":1, "predef::Nettle.BlockCipher.CTR":1, +  "GCM": "predef::Crypto":1, "predef::Nettle.BlockCipher.CBC":1, "predef::Nettle.BlockCipher.CTR":1, "predef::Nettle.BlockCipher.PCBC":1,    "GDK2.Bitmap": "predef::GTK2.GdkBitmap.create":1, "predef::GTK2.GdkBitmap.ref":1, "predef::GTK2.GdkBitmap.unref":1,    "GDK2.COLORSPACE_RGB": "predef::GTK2.GdkPixbuf.create":1,    "GDK2.Color": "predef::GTK2.GdkColor.create":1, "predef::GTK2.GdkColor.destroy":1,
280:    "ZXID::Configuration": "predef::ZXID.Configuration":1,    "_ADT": "predef::ADT":1,    "_ALPHA": "predef::GL.glTexEnv":1, +  "_CBC": "predef::Nettle.BlockCipher.PCBC":1, +  "_CBC::State": "predef::Nettle.BlockCipher.PCBC.State":1,    "_Image": "7.6::Image.Image.turbulence":1,    "_Protocols_DNS_SD.Service": "predef::Protocols.DNS_SD.Service":1,    "_SimpleRegexp": "predef::Regexp.SimpleRegexp":1,
486:    "setuid": "predef::Process.create_process.create":2,    "stable_time": "predef::Filesystem.Monitor.basic.stable_data_change":1, "predef::Filesystem.Monitor.symlinks.stable_data_change":1,    "string ": "7.6::Calendar.YMD.YMD.fraction_no":9, "7.6::Calendar.YMD.format_iso":5, "7.6::Calendar.YMD.format_iso_ymd":20, "predef::Calendar.TZnames._zone_tab":1, "predef::Calendar.Time.TimeofDay.format_iso_ymd":22, "predef::Calendar.YMD.YMD.format_iso_ymd":20, "predef::Calendar.YMD.YMD.fraction_no":9, "predef::Calendar.YMD.datetime_name":2, "predef::Calendar.YMD.format_iso":5, "predef::Image.AVS.decode":1, "predef::Image.BMP.encode":4, "predef::Image.Color.Color.cast":1, "predef::Image.Color.Color.hex":4, "predef::Image.GIF._encode":1, "predef::Image.GIF._gce_block":1, "predef::Image.GIF._render_block":1, "predef::Image.GIF.encode":12, "predef::Image.GIF.end_block":1, "predef::Image.GIF.header_block":4, "predef::Image.GIF.netscape_loop_block":2, "predef::Image.GIF.render_block":5, "predef::Image.HRZ.decode":1, "predef::Image.ILBM.encode":2, "predef::Image.Image.blur":1, "predef::Image.Image.cast":1, "predef::Image.Image.make_ascii":1, "predef::Image.Image.write_lsb_rgb":2, "predef::Image.Layer.cast":1, "predef::Image.Layer.set_mode":1, "predef::Image.PCX.encode":4, "predef::Image.PNM.encode":9, "predef::Image.PVR.encode":2, "predef::Image.RAS.encode":2, "predef::Image.TGA.encode":2, "predef::Image.X.encode_pseudocolor":2, "predef::Image.X.encode_truecolor":4, "predef::Image.XBM.encode":2, "predef::Image.XFace.encode":2, +  "substate_factory()": "predef::Nettle.BlockCipher.PCBC.State.create":1,    "supertimerange": "predef::Calendar.TimeRanges.TimeRange.`/":1,    "symlink": "7.8::Filesystem.Tar._Tar.extract":1, "predef::Filesystem.Tar._Tar.extract":1,    "this_program": "lfun::`+=":1,
1162:   "predef::Nettle.BlockCipher.CBC.State.substate_factory": "Cipher::State"   "predef::Nettle.BlockCipher.CTR": "GCM"   "predef::Nettle.BlockCipher.CTR.State.crypt": "digest()" "update()" + "predef::Nettle.BlockCipher.PCBC": "GCM" "_CBC" + "predef::Nettle.BlockCipher.PCBC.State": "_CBC::State" + "predef::Nettle.BlockCipher.PCBC.State.create": "Cipher::State" "substate_factory()"   "predef::Nettle.BlockCipher16.CCM.State.digest": "global::digest_size()"   "predef::Nettle.BlockCipher16.CCM.State.digest_size": "CCM::digest_size()" "global::digest_size()"   "predef::Nettle.BlockCipher16.CCM8": "BlockCipher16::CCM"