Skip to content

Crypto lacks an implementation of MD4 #279

@gopherbot

Description

@gopherbot

by calennert:

What steps will reproduce the problem?
1. Code:
package main

import (
    "fmt";
    "crypto/md4";
    "io"
)

func main() {
    h := md4.New();
    io.WriteString(h, "abc");
    fmt.Printf("%x\n", h.Sum());
}
2. Fails to compile due to lack of 'crypto/md4' package.

What is the expected output? What do you see instead?
Expected output is proper compilation with stdout output 
being 'a448017aaf21d8525fc10ae87aa6729d'.

What is your $GOOS?  $GOARCH?
GOOS=linux
GOARCH=amd64

Which revision are you using?  (hg identify)
4171:d25a47920411

Please provide any additional information below.
The attached patch provides an implementation of MD4 via a new 
package 'crypto/md4'.  The 'crypto/md5' package provided the bulk of the 
implementation details (thanks!). 

Compile (all.bash) compiles properly and all MD4 tests pass.

Note: Having MD4 in Go will facilitate working with mechanisms such as 
NLTM that make use of this hashing algorithm.

Attachments:

  1. md4.patch (8833 bytes)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions