all: fix article typos

a -> an

Change-Id: I95a940df64cb825887b75a80eadc822095b49781
Reviewed-on: https://go-review.googlesource.com/63991
Run-TryBot: Alex Vaghin <ddos@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alex Vaghin <ddos@google.com>
diff --git a/curve25519/curve25519.go b/curve25519/curve25519.go
index 2d14c2a..cb8fbc5 100644
--- a/curve25519/curve25519.go
+++ b/curve25519/curve25519.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// We have a implementation in amd64 assembly so this code is only run on
+// We have an implementation in amd64 assembly so this code is only run on
 // non-amd64 platforms. The amd64 assembly does not support gccgo.
 // +build !amd64 gccgo appengine
 
diff --git a/openpgp/packet/private_key_test.go b/openpgp/packet/private_key_test.go
index c16ef78..ac651d9 100644
--- a/openpgp/packet/private_key_test.go
+++ b/openpgp/packet/private_key_test.go
@@ -228,7 +228,7 @@
 	priv := NewSignerPrivateKey(time.Now(), &ecdsaSigner{ecdsaPriv})
 
 	if priv.PubKeyAlgo != PubKeyAlgoECDSA {
-		t.Fatal("NewSignerPrivateKey should have made a ECSDA private key")
+		t.Fatal("NewSignerPrivateKey should have made an ECSDA private key")
 	}
 
 	sig := &Signature{
diff --git a/pkcs12/crypto.go b/pkcs12/crypto.go
index 4bd4470..484ca51 100644
--- a/pkcs12/crypto.go
+++ b/pkcs12/crypto.go
@@ -124,7 +124,7 @@
 	return
 }
 
-// decryptable abstracts a object that contains ciphertext.
+// decryptable abstracts an object that contains ciphertext.
 type decryptable interface {
 	Algorithm() pkix.AlgorithmIdentifier
 	Data() []byte
diff --git a/ssh/agent/client_test.go b/ssh/agent/client_test.go
index a5b20f5..266fd6d 100644
--- a/ssh/agent/client_test.go
+++ b/ssh/agent/client_test.go
@@ -19,7 +19,7 @@
 	"golang.org/x/crypto/ssh"
 )
 
-// startOpenSSHAgent executes ssh-agent, and returns a Agent interface to it.
+// startOpenSSHAgent executes ssh-agent, and returns an Agent interface to it.
 func startOpenSSHAgent(t *testing.T) (client Agent, socket string, cleanup func()) {
 	if testing.Short() {
 		// ssh-agent is not always available, and the key
diff --git a/ssh/client_auth.go b/ssh/client_auth.go
index b882da0..3acd8d4 100644
--- a/ssh/client_auth.go
+++ b/ssh/client_auth.go
@@ -349,7 +349,7 @@
 // both CLI and GUI environments.
 type KeyboardInteractiveChallenge func(user, instruction string, questions []string, echos []bool) (answers []string, err error)
 
-// KeyboardInteractive returns a AuthMethod using a prompt/response
+// KeyboardInteractive returns an AuthMethod using a prompt/response
 // sequence controlled by the server.
 func KeyboardInteractive(challenge KeyboardInteractiveChallenge) AuthMethod {
 	return challenge